StackOverflow转向默认使用HTTPS

StackOverflow的首席架构师Nick Craver发表了一篇博文,宣布StackOverflow迁移到HTTPS。在该过程中,他们经历了一些技术挑战,包括对数百个域的支持、URL迁移、用户生成内容处理,以及如何达到网站所需的严格性能需求。
这次迁移总体上历时四年,但Craver强调,该工作一直以来都并非是工作重点。例如,网站上并不存在财务信息或是信用卡支付,网站信息也并非需安全防护的高价值信息。Craver指出,事实上,StackOverflow总是将性能置于安全之上:

我应指出,性能是我们的首要驱动力,而非网站的安全性。虽然我们也需要安全性,但是安全本身并不值得我们付出对整个网站部署HTTPS所花费的时间。

Craver解释说,HTTP/2的广泛采用及在性能上的优点是他们升级到HTTPS的主要驱动力。这些优点包括:Request/Response多路复用(Multiplexing)、服务器推送技术(Server Push), 头部压缩(Header Compression)、数据流优先(Stream Prioritization)和更少的域(Origin)连接等。由于浏览器并不支持在HTTP上实现HTTP/2,因此迁移到HTTPS不仅是一个性能上的需求,同时也是一个安全上的需求。

StackOverflow具有上百个域和子域。站点的主证书中包括了StackOverflow的全部主域,以及由通配符表示的域。在这种多个域的证书和IP一致的情况下,可利用HTTP/2提供的机制,支持浏览器对多个域使用单一的共享连接,这将提高性能。

在转向HTTPS的过程中,还需要做一些域迁移工作。例如,需要将“meta”域从“meta..stackexchange.com”转化为“.meta.stackexchange.com”。Craver特别指出,这样做是因为通配符必须位于域名的最左边,单一的通配符更易于维护。

此外,网站中的敏感cookies现在是从顶级域继承而来的,原先可访问它们的域已经被移动了。Craver给出了一个例子,“SendGrid”标签现已移动到“stackoverflow.email”域中。

Craver还指出,网站中存在着大量HTTP用户生成内容,例如提问中给出的图片、用户配置信息、Youtube视频等。在迁移时所采取的第一步,是对所有新的用户生成内容强制使用HTTPS,将HTTP内容限定为遗留内容。然后,下一步是对遗留内容的迁移。其中的大部分内容仅需要进行查找并替换即可。对于那些团队把握不准的内容,如果内容工作异常,那么它或者被转化为HTTPS,或者被转化为一个链接。

JavaScript代码中也存在着数以千计的链接,这些链接基本上是使用HTTP的,甚至位于不同的“meta”域中。据Craver介绍,他们是逐个代码分别处理的,使用“.Url(‘/path’)”调用替换了这些连接。只要启用了特性标识,这将从根本上转化这些链接为HTTPS。

Craver强调,他们也非常重视避免丢失任何来自Google的流量,这是网站流量的重要来源,因而也是网站收入的主要来源。尽管Google所需的更改非常简单(将301跳转从HTTP更改为HTTPS,并更新权威链接),团队也必须要慎重,以免犯错误。

迁移最后还会涉及WebSocket,需要将所有事情转换为WebSocket加密,这也是为避免影响网站性能而在功能上的直接需要。据Craver介绍,他们可一次同时打开近五十万个并发的websocket连接。

该博文的内容很长,但是值得一读。

本文转自d1net(转载)

时间: 2024-09-07 04:06:03

StackOverflow转向默认使用HTTPS的相关文章

维基百科默认开启 HTTPS 以强化安全

https://yqfile.alicdn.com/6640ad4c42a63e3a57b19f3d894d2d71d337633a.png" > 今天维基媒体基金会发布公告称,旗下所有网站将全部默认开启HTTPS,以确保用户在不牺牲隐私和安全的前提下访问内容.目前这项工作正在进行中,这些网站里面其中最出名的当然是全球最大的在线百科网站维基百科.默认HTTPS开启意味着用户对其包括维基百科在内的所有旗下网站的访问流量都将进行加密,这样第三方就无法知道用户浏览了什么内容,也无法获取敏感数据,

维基百科默认HTTPS后 多数国家都能用了…

互联网时代的利好之一就是能够在网络上获得大量信息,我们可以通过搜索引擎寻找需要的资料,而类似于维基百科则是一个更容易让人信赖的信息获取平台.但是,因为众所周知的原因,维基百科在很长一段时间内无法登陆,甚至很多中国的90后.95后都不知道维基百科的存在. 为保护访问者的隐私和安全,让用户能安全和不被审查的自由获取知识,维基媒体旗下网站如维基百科,从2011年起就支持HTTPS,但没有默认启用而需要手动在地址栏输入HTTPS,2015年6月,维基媒体基金会宣布维基百科默认启用HTTPS.相关研究显示

Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS

本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密.非对称加密.信息认证等密码学知识.如果你不太了解,可以阅读Erlang发明人Joe Armstrong最近写的Cryptography Tutorial.大牛出品,通俗易懂,强力推荐. Https涉及到的主体 客户端.通常是浏览器(Chrome.IE.FireFox等),也可以自己编写的各种语言的

基于阿里云上实现全站https的正确姿势(一)

一些重要的互联网资源参考: 强烈建议通读一下Jerry Qu的关于https, http/2, nginx的blog, 这是我目前发现的在国内的技术文章中, 关于上述的几个知识点讲解的最为全面透彻的文章. 传送门: https://imququ.com/ 为什么我们需要实现全站https? 目前主流大厂的网站和服务都已经实现了全站https, 例如: baidu, taobao, jd等. 关于这方面的好处和优势, 互联网上太多文章在进行介绍. 例如: 为什么我们应该尽快升级到 HTTPS? 对

金融安全资讯精选 2017年第十三期 百慕大离岸律师事务所遭黑客攻击,Google 发布HTTPS 普及度报告,Bad Rabbit攻击预警和安全建议,PCI SSC 发布新的 3DS 支付标准

[金融安全动态] 百慕大离岸律师事务所 Appleby 近期遭黑客攻击 点击查看原文   点评:与此前声名大噪的"巴拿马文件"一样,"百慕大"事件的目标在于掀起新一轮对全球财务.企业以及税务事务的大规模审查.从这次事件可以见到,其实对于越大型的公司或个人来说,数据泄露所最担心的问题并非是经济损失,公司名誉和品牌的杀伤力,才是致命的.   Google 发布HTTPS 普及度报告 点击查看原文   概要:一项Google发布出来的数据:64% Android设备上,7

为何你会被强插广告?谈HTTPS连接的那些事

本文讲的是为何你会被强插广告?谈HTTPS连接的那些事,相信很多朋友都遇到过网页被强插广告的情况,好端端一个干净的页面,动不动就被插了个屠龙宝刀点击就送的小窗口,看着就心烦. 这种网页劫持强插广告的现象,在中国非常常见,往往是运营商进行HTTP劫持所造成的.对付这种劫持,一个很好的解决办法就是HTTPS. 网页劫持很多人都有遇到过,HTTPS可以比较好地防范这问题 HTTPS能够加密网页传输内容,不仅可以防止强插广告,还可以防盗号.然而,效果如此好的技术,并没有成为主流.无论国内外,很多大网站都

扒一扒HTTPS网站的内幕

作者:王继波  野狗科技运维总监,曾在360.TP-Link从事网络运维相关工作,在网站性能优化.网络协议研究上经验丰富. 野狗官博:https://blog.wilddog.com/  野狗官网:https://www.wilddog.com/ 公众订阅号:wilddogbaas 今年6月,维基媒体基金会发布公告,旗下所有网站将默认开启HTTPS,这些网站中最为人所知的当然是全球最大的在线百科-维基百科.而更早时候的3月,百度已经发布公告,百度全站默认开启HTTPS.淘宝也默默做了全站HTTP

大型网站的 HTTPS 实践(三):基于协议和配置的优化

大型网站的 HTTPS 实践(三):基于协议和配置的优化 1 前言 上文讲到 HTTPS 对用户访问速度的影响. 本文就为大家介绍 HTTPS 在访问速度,计算性能,安全等方面基于协议和配置的优化. 2 HTTPS 访问速度优化 2.1 Tcp fast open HTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必须通过三次握手建立 TCP 连接,但一个 RTT 的时间内只传输一个 syn 包是不是太浪费?能不能在 syn 包发出的同时捎上应用层的数据?其实是可以的,这也是 tc

新增HTTPS协议加密功能 美团云对象存储安全再升级

随着移动互联的发展,用户生活获得更便利的同时,数据安全问题也频频出现.此前,知名电商.社交网络平台的用户个人隐私泄露事件,就已为信息安全敲响了警钟.在网络信息安全问题上,数据传输的重要性不言而喻.近日,美团云对象存储新增HTTPS加密功能,为云端数据传输安全保驾护航. HTTPS的"S"强在哪儿 HTTP协议作为网络通信传输基础长达20多年之久,而如今要逐步让位于更安全可靠的HTTPS协议.只是一个字母"S"之差,后者为用户带来的安全可信性,却是传统的HTTP协议无