写在开篇前的话:全站HTTPS已经是互联网企业发展的大势所趋。继淘宝、京东等电商完成全站HTTPS化后,笔者负责领导了公司的全站HTTPS工作。在整个过程中,笔者深刻体会到对于一个大型网站而言,全站HTTPS绝对是一个挑战巨大且需要严谨对待的工作。不幸的是,网络知识库中并未有针对电商型网站的任何改造经验与文档供我们参考。爬坑的过程是异常残忍的,遇到了一次次血淋淋的教训,因此笔者决定将整个方案分享出来。一方面,作为自己工作过程中的一笔财富;另一方面,如果能对大家有参考价值,少爬点坑也是好事情。
最后说一句,笔者能力有限,如果能对大家有帮助,转载请注明出处,毕竟是一年的心血。如果觉得存在问题,欢迎留言指教!
1. 为什么要做全站HTTPS?
HTTPS,即是安全的超文本传输协议。依赖TLS握手来保护HTTP传输数据和信息的安全性。
TLS(transport layer security, 传输层安全协议)和SSL(secure socket layer, 安全套接字层)应用于OSI表示层(TCP之上,HTTP之下)。都是旨在基于不安全的基础设施提供安全通信。SSL 1-3由Netscape公司开发,TLS 1.0-1.2由Microsoft维护,为了取悦Microsoft协议才发生了更名(SSL->TLS)。后面我们统一使用TLS协议。
TLS握手协议保证了数据在网络传输过程中:1. 数据加密;2. 身份校验;3. 数据的完整性校验。
1.1 保证用户购物环境的安全
我想这是电商网站实现全站HTTPS的根本原因——保证用户的购物环境更安全。毕竟用户的购物体验增强了才能提升电商网站的流量和人气。然而“感谢”运营商为我们营造了一个糟糕的公网环境,明文传输的流量被篡改、劫持、监听、窃取比率很高,这里面最让人无法接受到有两种:
1. 劫