大虾居

谈笑有鸿儒,往来无白丁。

0%

如何让github pages站点使用自定义域名

Github Pages 提供了一个免费的静态文件托管服务,方便我们搭建在线技术文档,甚至是假设博客。
同时 Github还免费提供了 xxx.github.io 三级域名用于访问。但是如果我们希望自己的站点更具个性化,我们可以自己注册域名并在github上开启自定义域名。

下面跟大虾一起完成设置吧。

一、注册域名并修改DNS记录

首先在域名注册商处注册一个域名,然后修改域名的DNS记录,将域名解析到Github Pages的服务器上。

添加一个C记录www, 解析到 xxx.github.io. 三级域名,注意这里xxx必须是github上注册的user或者organization名字。

image

二、在Github上完成域名认证

在github右上角点击个人图标,进入settings页面。

Settings页面左侧 Code, Plan and automation栏下进入Pages页面。

这里需要添加上自定义的域名并验证改域名为你所有。

点击添加域名,把你的域名添加进去。注意这里只需要输入二级域名。

添加完成后需要在DNS解析中加入一个TXT记录,用于验证域名所有权。

image

image

将该页面上提示的TXT记录和值添加到域名的DNS记录中。

image

修改DNS记录可能要等几分钟只几个小时等待生效,生效后点击Verify即可完成认证。

image

三、在Github Pages站点后台绑定域名

回到指定的Github Pages站点项目后台,点击Settings。

找到Custom domain栏,输入自己的域名,点击Save。

此处设置完成后github可能需要花一些时间等待域名正确解析。

image

这里勾选HTTPS后github pages还可以为你的域名生成SSL证书,省去自己申请证书的麻烦,非常贴心。

等到解析完成,通过 xxx.github.io即可访问自己的网站了。

四、常见问题

设置自定义域名不成功 NotServedByPagesError

在Pages 页面设置自定义域名,但是始终在DNS检查,或者返回 NotServedByPagesError 错误,这个问题还比较常见。

出现这种情况的一个原因是当设置自定义域名时,github会自动在repository创建一个CNAME文件,如果该文件已经存在,
则可能导致操作失败,可以手动修改或者删除这个文件。

这个文件的内容就是自定义的域名。

image

参考资料:

https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/verifying-your-custom-domain-for-github-pages

https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site