GitHub Pages自定义域名开启HTTPS

GitHub Pages由于其免费,轻量,搭建方便等缘故已经成为很多coder搭建博客的首选方案。

同时,GitHub Pages还支持自定义域名访问,这就让更多人有兴趣实用了。

但,一旦你开启了自定义域名,通过自定义域名访问,不再是HTTPS了。

这篇博客就是帮你实现自定义域名的HTTPS支持。

2018年05月18日 更新

据最新了解只要你域名CNAME到你的GitHub Page页面,github会自动给你申请一张你域名的Let’s Encrypt证书,而且你还可以在设置里开启强制HTTPS选项。

我们这里主要借助的是Cloudflare免费的CDN服务,让你的GitHub博客支持HTTPS。

我们可以先看一下最后成果

准备

在开始之前,你需要先注册一个Cloudflare账号

修改DNS服务器

在你注册完成,登录后,Cloudflare会提示你添加自己的站点,比如我的自定义域名是 qvchuang.top,

就填这个,如下图一样(如果没有,点击右上角 Add Site即可)

填写后,Cloudfire会去查询你的DNS记录

如果你的DNS解析服务没有设置成Cloudflare,Cloud会提示你改变你的DNS域名解析服务,如下所示

接下来你只需要,将你的DNS解析服务换成Cloudflare给你的两个地址即可

例如,我用的是阿里云,直接到阿里的域名管理,修改DNS即可

修改完DNS后,回到Cloudflare点击继续进入主界面。

主界面应该显示 Status: Website not active,这时需要等待DNS生效,一般1个小时左右就能生效了,如果超过一天还未生效建议查看是否正确修改DNS,生效后再进入Cloudflare主界面,点击 Recheck Nameservers 重新检查DNS服务器,如果已生效,Status就会显示 Active 并显示为绿色,这样就修改成功了

添加DNS记录

  • CNAME: 将www.qvchuang.top ☞ qvchuang.top

  • A : 将 qvchuang.top ☞ github pages 的IP 192.30.252.153

  • A : 将 qvchuang.top ☞ github pages 的IP 192.30.252.154

开启SSL加密

点击Crypto按钮,并设置SSL为 Full

下滑找到Always Use HTTPS 并开启

设置页面规则

同时,我们还需要设置一些页面规则,将所有该站点的资源全部走HTTPS

到这里,你就全部配置好了。等待一段时间,当你的状态变成如下所示时说明你以成功设置


参考

  1. https://blog.vinlic.com/p/50505/
  2. https://razeen.me/post/https-githubpages.html

  目录