深入浅出 HTTPS:从原理到实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

序1

我们的网站、我们的App、我们的小程序是否有必要升级到HTTPS呢?这并不是一个新鲜的问题,几年来一直困扰着大家。2015年百度搜索引擎完成其历史上最大的系统性升级——全面由HTTP升级到HTTPS;2016年苹果公告要求App Store中的所有应用在2017年1月1日之后都必须使用HTTPS加密连接;2017年1月9日微信上线小程序后,要求开发者的所有服务端请求必须为HTTPS;同时Google已调整搜索引擎算法,让采用HTTPS的网站在搜索结果中排名更靠前,并宣布从2018年7月开始所有的HTTP网站将标记为“不安全”。是否有必要将系统升级到HTTPS,答案显而易见!

当下的互联网已不是20年前只提供新闻资讯、邮件收发服务的简单互联网了,更不是让你安心网上冲浪的“洁净”互联网。互联网尤其是移动互联网,已经成为人们依赖度相当高的工具,餐饮、电影、购物、金融理财,甚至买汽车、租房、打车等都离不开它,移动互联网已完成产品和服务的交易闭环。服务内容的升级与飞速发展,进一步放大了数据安全、被劫持或泄露的风险。近些年,用户数据泄露、流量劫持、页面篡改等安全事件频发,这些安全事件往往会给个人或公司带来非常大的经济损失。

安全问题已成为企业的生存之本,而HTTP天然的安全弊端可能会让企业产生不可挽回的巨大损失。在HTTP模式下,搜索或访问请求以“明文信息”,经过代理服务器、路由器、WiFi热点、服务运营商等“中间人”通路,这就形成了“中间人”获取数据、篡改数据的可能。系统升级到HTTPS是企业的必行之路。

不就是做一个从HTTP到HTTPS的切换吗?其实,背后却是一个复杂的工程。系统从HTTP升级到HTTPS,并不是让Web服务器支持HTTPS协议这么简单,还需要考虑CDN、负载均衡、反向代理等服务器。同时要考虑在何种设备上部署证书及私钥,涉及网络架构和应用架构的变化。这些都需要考虑合理性,尤其要兼顾访问速度与系统安全性。在部署过程中还必须保持业务的连续性,不能中断业务,要稳定地响应用户请求,做好HTTPS和HTTP的过渡和兼容。还要考虑Referer、Cookie等数据如何保持一致,如何避免出现访问故障,复杂度几乎是难以想象的。

一想到从HTTP升级到HTTPS的复杂度,很多人望而却步、不知如何是好。或者硬着头皮使用百度搜索各类HTTPS升级文章,研读天书般的RFC文档。网上的HTTPS升级文章好是好,也不乏实战派好文,但大都寥寥几笔,不能全面系统地介绍HTTPS基础理论与实战细则。而RFC文档的学习门槛比较高,虽然理论讲解透彻且专业,但实战中遇到的问题需要读者慢慢实操解决。

非常有幸成为本书的首批读者,并应作者虞卫东之邀为此书写序。逐章阅读后,我深感本书覆盖所有核心知识,并且易读。我想这可能得益于作者2007年以来一直在负责大型系统的架构设计,并一次次解决新浪博客、新浪邮箱高负载下的系统难题与复杂的系统升级难题,积累了大量的一线实践经验。本书围绕HTTPS应用知识体系,以实战经验、实战工具为“术”,以结合每个关键点的实战解决方法为“例”,详细介绍了HTTP、HTTPS的常用知识,逐项解读所涉及的密码学、TLS协议、CA证书选择及网站部署方式等关键点。内容易于读者理解,可避免啃厚厚的RFC文档和劳累检索良莠不齐的各类HTTPS升级文章的辛劳。

同时作者逻辑清晰,于实战核心处落笔。如果你是入门者,建议全篇深度学习,因为此书并不会赘述理论,但能帮助你建立完整的知识体系,补充你的实战经验。如果你想快速解决企业遇到的升级HTTPS难题,可以直接阅读实战解决方案,并把此书作为实战手册快速找到解决办法,逐一攻克难关。

最后真心希望本书可以帮助更多企业和开发者实现HTTPS的平稳升级。

原新浪产品事业部副总经理 王廼悦