网站Https改造
背景
我们的网站是nginx+php开发的,需要进行https的改造。
技术前提
在https的页面中是不允许加载http资源的,包括js,css等文件(图片被认为是安全的资源,大多数浏览器是允许http访问的)。因为页面中可能会写死很多的资源请求链接为http,所以我们https改造的难点就在这里,要将所有的资源请求改为https的。
改造步骤
- nginx打开https功能,证书制作(测试环境,线上环境由OP部门完成,具体证书认证之类的流程不太清楚);完成第1步后,页面就可以通过https访问,但是打开页面后基本都是样式错乱,原因就是页面需要的JS,CSS等资源是http的请求,被浏览器block掉了;
- 将资源请求改为https,主要需要找到这些资源是在哪里发出去的,把协议改成
https
或者用//
让浏览器去自动选择; - 完成以上两步,基本就可以了。但是也有一些资源是第三方维护的,不支持https,这时我们是通过代理解决的;我们技术方案是服务器回包给浏览器前,将包拦截,匹配出需要进行代理替换的域名,改为代理域名。
网站Https改造
http://yoursite.com/2016/07/19/https/