Github Pages 自定义域名开启 https


博客从 typecho 又迁回了 Github pages,不过这次不是用的 Hero,而是 Github pages 默认支持的 Jekyll,Jekyll 相比 Hero 有一个明显的优势,可以不用生成静态网站 html 文件后提交到仓库,而只需要 Jekyll 主题源码,由 github 负责生成静态 html 文件。github pages 是支持开启 https 的,但只针对 username.github.io 的二级域名,对于自定义域名 github 目前并没有提供支持,相比之下国内的 coding 是支持的。本篇文章记录如何利用 Cloudflare 的免费 CDN 服务为自定义域名的 github pages 开启 https。

自定义域名

自定义域名比较简单,首先在 username.github.io 的仓库根目录下创建一个 CNAME 的文件,内容是想要自定义的域名,如:bakumon.me,然后给域名添加两条解析记录,如下图,增加两个 A 记录分别指向 192.30.252.153 和 192.30.252.154。

解析记录.png

此时,使用自定义域名,如 bakumon.me 就可以代替 username.github.io 访问博客了。

开启 Cloudflare 服务

首先注册 Cloudflare 账号,注册成功之后,点击 add site,添加一个网站,在下图输入框中输入自己的域名,点击 Begin Scan 按钮开始扫描。

添加网站.png

扫描结束后,添加如下记录:

添加记录.png

然后点击下一步,选择免费方案,到这里 Cloudflare 会提示需要修改域名的DNS服务器,到域名提供商那里修改域名的 DNS 服务器为下图的地址。

DNS服务器.png

点击 Overview 按钮,网站状态为 Active,说明 DNS 修改成功,一般需要等几分钟。

Active.png

设置 SSL

选择 Crypto,修改状态为 full。

Crypto.png

强制 https,选择 Page Rules,添加一条规则。让 http://bakumon.me 的所有网页都跳转到 https。

Rules.png

到这里访问 https://bakumon.me 就可以成功看到小绿锁了。

坑:如此设置完之后,访问 https://bakumon.me 浏览器总是提示证书是 github 的,和域名不符,翻墙后访问却正常,猜想应该是国内访问还是走的修改之前的 DNS 服务器,万网那边修改 DNS 服务器在国内还没有生效,等到第二天才 ok。

评论