目前大部分浏览器,在发生协议降级时默认不发送 Referrer 信息,最典型的场景就是从 HTTPS 页面点链接跳到 HTTP 网站时,浏览器并不会在请求头中带上 Referer 字段。当 Referrer 带不过去,对大数据的影响非常大,因为没办法追溯流量来源。 针对现代的浏览器,这个问题可以通过给页面加上下面这个 meta 标签来解决: DNS 劫持 DNS 劫持是指非法破坏域名的解析过程导致请求被解析到一个错误节点以达到某些恶意目的。当我们使用 HTTP时,DNS 异常可能还不会影响请求的功能性,但 HTTPS 因为非法节点没有证书和私钥,肯定是无法响应了。 苏宁的做法的是通过一些波测监控 DNS 的正常,如下图,我们监测到苏宁中华特色馆在某个地区有大量 DNS 解析异常。
出现 DNS 劫持,对用户影响很大,一旦出现一次页面打不开,用户就会认为这个页面有问题,不会在进行二次访问。 如下图,是苏宁易购河北地区出现的问题:
如图中所示,页面整个框架都在,但就是没有图片,最终确定是由 DNS 劫持导致的。 这里的应对方法就是要建立完整的风控体系,在全国各地建设波测节点,做整个请求图片、页面的记录,并保存,如下图:
当时,河北地区用户发出请求后,TCP 没有办法建立连接,使用 SSL 无法握手。原因是 DNS 劫持,被映射到非法的错误节点上了。 应对方法还是我刚才说的降级手段,通过 IP 判断是河北移动的用户就对 HTTPS 进行降级成 HTTP,其他地方还继续使用 HTTPS 策略。待当地运营商解决问题之后,再进行恢复。 HTTPS 性能监控 如下图,是苏宁易购移动端的监控页面:
HTTPS 灰度最重要的一个是做好监控,必须要有一个监控覆盖,要做好灰度,每一步上线时都要分析一下业务、性能、站内站外投放,CPS 等数据。 一切数据分析都正常之后,再逐步扩大区域,按 APP 的版本和用户级别进行部署。 HTTPS 未来展望篇 这里分享一个基于 UDP 的低时延的互联网传输层协议:QUIC(Quick UDP Internet Connection)。 TCP/IP 协议族是互联网的基础,这个 UDP 协议由谷歌提出,其用意是替代 TCP 协议。 这两种协议,UDP 更为轻量,错误校验也要少得多,但可靠性方面要弱于 TCP。目前,针对 QUIC 协议,国外一些公司在试用阶段,强调的是既保证安全,又能保证握手不会对原来的传输造成影响,这也许是未来的发展方向。 (责任编辑:admin) |