Hexo 升级 https

2016-12-22更新 今天 coding 邮件通知 pages 服务可以开启 SSL/TLS 证书了,当然是 Let’s encrypt 的免费证书。所以本文其实对于 coding 用户更麻烦了,而且下文中的 CloudFlare 是国外服务,解析时间还是没有优势的,需要的直接在 pages 面板开启即可。

https 大势所趋,我也尝尝鲜。不过全站 https 就不能用七牛的免费流量了,所以图床或者静态文件什么的就不能放了。现在图床用的 https://sm.ms/ ,博客托管在了 coding ,SSL 就用 CloudFlare 的免费套餐。

注册后都是很简单的操作,扫描后把域名的 DNS 改为 CloudFlare 所提供的地址。如果扫描里没显示结果的话,自己手动加 CNAME 解析即可。稍等十几分钟后 Recheck , Status: Active 就表示成功了。

在 crypto 分类里打开 HSTS 和 之后的 include subdomains 以及 No-sniff 选项。

记得修改 _config.yml 文件里的 url 为 https ,为了保证始终 https 连接,可以在主题的 head 标签下加入强制跳转:

<link rel="canonical" href="<%= config.url %>" />
<script type="text/javascript">
    var host = "yoursite.com";
    if ((host == window.location.host) && (window.location.protocol != "https:"))
        window.location.protocol = "https";
</script>

操作完成后需要大概12小时左右生效,所以不要着急,第二天看看结果。生效后检查下网站是不是还有非 https 的资源引用,去 SSLLAB 评下分。

参考资料