ClouDNS+Cloudflare托管Github Page以及邮件转发和配置SSL证书

之前在ClouDNS注册了一个免费的域名,一直想着拿来部署自己的博客,最近刚好有时间,就把这一部分处理了。说实话花的时间比我想象更多,这里也写一个记录贴,帮其他有需求的小伙伴或者未来自己更新网站避避坑。
注册
首先我们会需要一个ClouDNS账号,这个直接注册就好,选择免费的计划就可以。之后会让你创建自己的域名,这里记得一定不要选.ch后缀,参考这条帖子传送门,博主自己是选了.be的域名。
在输入自己想要的域名之后可能会弹出:免费域是专为因您当前ip网络过高的滥用率而特别定制的产品。您可以用您自己的域名来使用我们免费的dns服务。(啊英文原文我忘记截图了,大概意思就是这样)
如果弹出的话建议用魔法多换几个ip地址试试,亲测换了几次之后在特定的ip地址就不再弹窗,这样我们就可以顺利拿到我们的免费域名啦!
Cloudflare托管
如果没有Cloudflare的账号的话当然也要注册一个,注册之后选择添加网站,然后一步步按照网站引导走就好。这里要注意,一般注册了ClouDNS之后,会给你提供四个DNS服务器,我们要根据Cloudflare上面的提示,将Cloudflare提供的两个DNS服务器更新在NS这里,至于Cloudflare的四个NS记录可以直接删除掉。
Cloudflare邮件转发
我注意到ClouDNS上是有邮件转发功能的,但是笔者自己测试了几次都没有成功。所以直接使用了Cloudflare上的邮件转发功能。这里也和使用Cloudflare托管一样,会提示你添加MX和TXT记录,就按照Cloudflare上的提示在ClouDNS上添加即可。
Github Page托管
一直以来这个博客都放在了Github Page的github.io这个域名下,我们可以在repo下Setting
里面找到Page
选项卡,滑到最下面Custom Domain
填写我们的域名。这里要注意,ClouDNS是无法使用顶级域名作为我们博客的自定义域名的,我这里设置为了blog.barclayfu.cloudns.be,这样就可以了。同时也要注意添加CNAME到我们的DNS记录,当然,因为我们使用了blog这一子域名,所以也要注意CNAME要写到子域名。
SSL证书
在我们完成了上面的这些步骤之后,我们会发现浏览器会警告我们说此链接并不安全。这是因为我们网站使用的证书仍然是github.io的,所以无法验证。这里我们就要使用Cloudflare的SSL证书来处理。我们可以先看一下Github Page的选项卡,笔者当时的情况是Enforce HTTPS
是无法选中的,因为网站并没有成功配置。我们可以回到Cloudflare上,点击SSL/TLS
选项卡:首先在概述这里,我参考了网上其他大佬的经验和ChatGPT的意见,有些说用flex,有些是full,笔者这里是直接用了最严格的。
之后我们要点击边缘证书
,这里我们可以看到CloudFlare默认给我们的边缘证书。笔者这里一直显示了pending状态,一般说来等待一小段时间之后(一般官方文档会告诉你要甚至24小时,但是笔者认为只要大概半个小时没有更新状态就说明项目有问题)如果还没有更新,我们就要手动刷新。这里也是采取了其他大佬的方法:先禁用通用 SSL
,再开启。但是要注意不要禁用之后马上开启,会导致Cloudflare反应不过来,边缘证书直接变为空(笔者亲测)。建议禁用之后要稍等一段时间,几分钟即可,反正不要马上去按就好了。之后会生成新的证书,我们要把新的两个证书TXT更新在我们的ClouDNS上,按照key和value填入TXT记录中即可。之后我们等待一段时间后,就可以发现状态变成Acitve,说明SSL证书已经配置完成。同时,记得开启下方始终使用HTTPS
和自动HTTPS重写
。
完成上述步骤之后,我们可以打开Github Page来再次检查一下我们自定义域名的DNS check。这次我们会发现GitHub Page的Enforce HTTPS
选项卡已经可以点击,我们勾选上即可。最后,我们清除一下网站的缓存,就可以发现🔐图标已经出现,不再提示不安全。
这下大功告成!给自己一些掌声!呱唧呱唧!!!👏👏