

如何使部署在 Github Pages 上的网站采用 HTTPS
source link: https://www.zackwu.com/posts/2018-05-06-https-for-github-pages/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何使部署在 Github Pages 上的网站采用 HTTPS
2018-05-06对于部署在 Github Pages 上的网站,如果使用默认的*.github.io
域名,Github 会自动且强制地使用 HTTPS,不需要任何额外操作。
但对于绑定的自定义域名,原先的 Github 并不支持启用 HTTPS,可行的办法是通过 Cloudflare 的免费 DNS 解析服务,间接地得到 HTTPS,比较麻烦,因此一开始我并没有这个打算。
然而就在前几天,无意间看到 Github 的官方消息,自定义域名也支持 HTTPS 了,而且操作简单,所以毫无疑问,肯定选择 HTTPS。
Github 在 Twitter 上发布的消息
根据官方的公告,如果自定义域名是用CNAME
记录进行 DNS 解析,那么不需要做任何事情,就已经自动地支持了 HTTPS,而我的博客正好符合此条件。为了进一步提升安全性,我还在仓库设置中开启了Enforce HTTPS
,强制将 HTTP 访问转为 HTTPS。
这样之后,访问博客,就可以看到地址栏最左侧那个让人舒心的小绿锁了~
然而,一个小问题出现了:博客中的图片无法正常加载,被 Firefox 以不安全的缘由拦截。何也?因为博客中的图片链接用的是 HTTP,混杂在 HTTPS 中,自然存在安全风险。解决方法也很简单,只需要打开 Jekyll 的配置文件_config.yml
, 把url
设置项由 HTTP 改为 HTTPS 即可,那么所有自动生成的图片链接{{site_url}}/images/x.png
就会是 HTTPS 了。
可以看到,以上的过程操作十分简单,这都要归功于 Let’s Encrypt 项目和 Github 与其的合作。不免感慨,HTTPS 的推广,真的需要感谢这样的机构与公司存在。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK