全站HTTPS
为了跟风,赵岩的博客本日起全站利用https。
为了实现全站HTTPS。我紧张做了以下事情:

https利用SSL传输协议,SSL之以是安全,是由于加密传输的。初始公钥由做事器通报给浏览器,为了担保公钥安全的传输到浏览器,并被浏览器认可,我们须要一个由第三方威信机构署名的证书。详细参考《HTTPS到底是如何担保通信安全的》
普通的单域名证书一年须要1000多元,我们自然不会去花这个钱的。阿里云代理的赛门铁克供应个人免费域名证书。可以直接申请。阿里证书申请 申请的时候选择“Symantec ”、“免费型”、“一个域名”。阿里云会哀求DNS或者文件验证,证明你是域名的拥有者。全体申请过程10几分钟可完成。
阿里免费证书申请
第二、升级NginxNginx须要利用–with-http_ssl_module参数编译,确保支持https。为此我趁机会升级了下Nginx的版本到最新版本。
把你的证书pem文件和私钥key文件上传到做事器。
配置nginx.conf,监听443端口并加载证书。
原来监听的80端口,301转向443端口
server {listen 80;server_name zhaoyanblog.com;include black_list;rewrite ^(.) https://$server_name$1 permanent;}server {listen 443;server_name zhaoyanblog.com;ssl on;ssl_certificate cert/xxx.pem;ssl_certificate_key cert/xxxx.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;......第三、全站HTTPS
1、检讨网站内有没有引用了别的网站的js。须要切成https地址。或者根据document.location.protocol自适应当前的访问协议。
比如:微博、百度统计、百度站长、百度同盟广告等等组件。
http://widget.weibo.com/weiboshow/index.php 改成 https://widget.weibo.com/weiboshow/index.php
2、检讨是否直策应用了本站的http地址。改成相对路径。虽然已经配置了80端口301跳转。这样改会少一步对做事器的访问。
比如:http://zhaoyanblog.com/wp-content/uploads/2017/04/zhaoyanblog_2017-04-17_14-50-20.jpg
改成
/wp-content/uploads/2017/04/zhaoyanblog_2017-04-17_14-50-20.jpg
可以通过查看浏览器的调试信息,知道哪些访问的资源仍旧是http的。
第四、关照百度进行HTTPS验证在验证好全站已经利用https,并且访问http也可以301跳转到https。我们须要关照百度等搜索引擎进行https验证。由于搜索引擎在之前都是缓存我们的http地址。须要奉告他我们切到https。避免导致收录的页面丢失。
直接登录百度站长,里面有个https验证页面,点击验证即可。
至此赵岩的博客已经实现全站https
赵岩的博客全站HTTPS改造