Github Pages 自定义域名

我本来以为Github Pages自定义域名是件很简单的事情,更改一下域名解析即可。没想到还是挺曲折的,记录一下。

前言

云服务器到期,但是域名没有半年的时间,于是我想更改为Github Pages的自定义域名。

过程以及遇到的问题

在云服务器过期的前几天,我域名解析了github线的博客地址,虽然会报如下错误提示

image-20231221190139649

但还是可以跳转到自定义域名进行访问。

服务器正式过期后,就无法访问了,这也在我意料之中。

我删除了对云服务器公网IP的域名解析,只保留了对github线博客地址的域名解析。

image-20231221191117273

结果还是不行,情况是还是都会跳转到自定义域名,但是无法访问。并且报错信息为

image-20231221191635537

在网上找解决办法,还要添加一条对网站地址ip的解析

image-20231221191320046

额,是一个IPv6地址,无法解决。

解决方法

后面发现还是添加域名解析时的配置问题

image-20231221192425652

我将主机记录改成了 www,并且勾选HTTPS后,成功了,并且可以访问。

image-20231221192941470

在网上看到还有一种方法也可以解决问题,将 smiletoc.top 改为 www.smiletoc.top,我试了一下,发现不行,更玄学的是,之前可以成功的方法却报错了。

后来我又将主机记录改回了 @,域名填写为 www.smiletoc.top,又成功了,但是访问不了😅

image-20231221200530991

没办法,又把主机记录改回 www,域名填写为 www.smiletoc.top ,成功且可以访问,我真怀疑这是一个玄学问题,或者说更改主机记录需要一定的时间才能生效,导致我无法确定正确答案。

总之,遇到这个问题,多试试是可以解决。(过程较曲折,写得比较乱)

后续问题以及解决方法

添加自定义域名成功后,会在Github Pages项目根目录中添加一个名为CNAME的文件(里面记录的是自定义域名),但是每次推送都会覆盖文件,则CNAME文件会消失,导致自定义域名失效😅。

解决方法为在博客source文件夹下添加CNAME文件(没有后缀),内容为自定义域名,这样每次推送后就不需要手动修改了。