一个关于前端、产品、设计、绘画的情侣博客

Github Pages 自定义域名免费开启 https

G

一、前言

之前 Github Pages 搭建的站点如果想要开启 https 有两种方法。一种是常规方法,即自己有服务器来设置证书;另一种则是直接使用 Cloudflare 提供的免费域名 SSL。

不过 2018 年 5 月 1 日 Github Pages 已经正式支持自定义域名强行开启 https,不过从证书信息看,也是 Cloudflare 这家的。

二、配置域名

域名使用 CNAME 指向自己的 Github Pages 项目主域,例如 millylee.github.io,这里不推荐使用 A 记录,以免 IP 变动还得进行修改。配置完域名后可以在命令行下使用 dig <domain> 命令查看下是否生效。例如这里我使用 dig milly.me 显示如下信息,则说明域名配置正确。

三、项目配置

进入仓库中的「Settings」-「GitHub Pages」-「Custom domain」配置项,填写自定义域名保存后,Github 会自动在代码仓库中添加 CNAME 文件。如果配置完后一切顺利,你会看到
Unavailable for your site because a certificate has not yet been issued for your domain 之类的提示,这是因为 Github 会 24h 以内的时间来为你的域名生成相应证书,当然有的人可能几分钟或几小时就能完成,之后你就可以看到该选项可以勾选了。

如果是这之前就已经为自己的项目主页或个人主页绑定过域名,那该选项不仅不能勾选,可能还会有各种提示。比如我遇到了 Domain's DNS record could not be retrieved...Domain does not resolve to the GitHub Pages server... 等提示。前者是说 DNS 记录还未生效,后者是说域名无法解析到 Github Pages 服务。于是等了 24 小时,该时间不仅是 DNS 全球最慢的同步时间,同时也是 Github Pages 最慢的证书生成时间。最后明确各个配置没有问题后,先将 Custom domain 清空保存,然后勾选 Enforce HTTPS,接着重新填写域名并保存,刷新后面后发现终于可以勾选Enforce HTTPS

四、总结流程

  • 域名使用 cname 指向 .github.io
  • github 项目中添加自定义域名(旧项目需要先清空域名再重新绑定)
  • 经过最多 24h 后勾选Enforce HTTPS

关于作者

Milly

擅长 Adobe 旗下软件,Ai、Fw、Fl、Br、Ae、Pr、Id 等的安装与卸载,精通 CSS、JavaScript、PHP 等单词的拼写。「从个性签名被模仿回忆我的十年互联网生涯」https://www.sawlove.com/ten-years-internet-life.html

2 评论

    • 清空下缓存或换个浏览器试下,另外页面中也不要包含非 https 的资源。

由 Milly
一个关于前端、产品、设计、绘画的情侣博客

分类

文章归档