设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

全站HTTPS没你想象的那么简单,电商网站兼顾安全与性能的踩坑小结!(3)

发布时间:2017-09-13 12:26 所属栏目:19 来源:51CTO技术栈
导读:这里的解决方法,只能是客户端开发人员做适配,下图是 App 无法识别//的一个例子: 04、 如何处理商用 CDN 上的证书和私钥? CPN 证书的处理是大多数小型互联网企业都会遇到的问题。因为这些小企业不像阿里、京东可

这里的解决方法,只能是客户端开发人员做适配,下图是 App 无法识别//的一个例子:

04、如何处理商用 CDN 上的证书和私钥?

CPN 证书的处理是大多数小型互联网企业都会遇到的问题。因为这些小企业不像阿里、京东可自建 CDN,苏宁也是一样。

苏宁的 CDN 由自建和商用两种组成,一旦使用商用 CDN,就会面临 HTTPS 如何过去的问题。

企业只要将私钥给到第三方或厂商之后,在所有厂商的 CDN 服务器都没办法控制。当有黑客攻击完厂商服务器后,加密已没任何意义,因为私钥已经泄露。

如下图,业界比较公认的应对方式分别是:双证书的策略、四层加速和 Keyless 解决方案。

  • 双证书的策略。它的思想很简单,相当于用户到 CDN 端,提供的是 CDN 的证书,做加解密。从 CDN 到应用服务器端用的是应用自有的证书来做加解密。

    这样的方式,可以保证应用端的密钥不用提供给 CDN 厂商,但根本的问题还是没有解决,那就是 CDN 厂商的证书仍然有泄露的可能。如果泄露了,用户端还是会受到影响。

  • 四层加速。很多 CDN 厂商都有能力提供 TCP 加速,做动态、还原和择优等。CDN 厂商只做四层模式和 TCP 代理,不考虑请求缓存。

    这样就没必要将证书暴露给 CDN 厂商,这种方式适用于动态回源请求,比如加入购物车、提交订单、登录等。

  • Keyless 解决方案。适用于金融,提供一台实时计算的 Key Server 。

当 CDN 要用到私钥时,通过加密通道将必要的参数传给 Key Server,由 Key Server 算出结果并返回即可。

05、HTTPS 测试策略

当引入一个新的协议,如何进行测试呢?主要步骤,如下图:

  • 源码扫描。当开发人员完成资源替换后,利用 Jenkins 遍历代码库,shell 脚本扫描出 HTTP 链接。

  • 对页面爬虫扫描。我们会写一些爬虫脚本,对测试环境的链接进行扫描。

  • 测试环境验证。自动化测试固然好,但是主要核心流程还是需要手动覆盖一遍,防止 HTTPS 对页面加载出现未知影响。

    如有些页面是用 HTTPS 去访问,可能这个系统还不支持 HTTPS,必须要手动验证。

  • 线上预发和引流测试。HTTPS 的改造版本发到线上对用户来讲是没有影响的,因为用户使用的还是 HTTP 流量。

    可以选择线上预发的方式,预发验证完毕后,通过 301 的方式,将用户的流量从 HTTP 切到 HTTPS,这个后面讲灰度时还会深入讲解。

另外,我们还引入了引流测试系统:

它的思路很简单,根据域名、用户请求做捕获,将所有捕获流量放到 Copy Server 中去扩大,放大若干倍,然后通过 Sender 再发送回到系统中。

这样的方式,可以通过用户的真实流量,来验证 HTTPS 的功能性和性能影响有多大。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读