前言

在写博客的这段时间中,我发现将图像等静态资源放在 Github 上经常出现图片无法访问、加载速度慢的问题,前者可能是上传的过程中出现了错误,而后者会随着博客内容的增多而加剧,因此我决定使用阿里云 OSS 服务作为图床。同时,通过注册个人域名,并使用 Cloudflare 托管域名,获得 Cloudflare 提供的诸多免费功能。

因为过程中由于对部分操作不熟悉,遇到了许多问题,但完成后内心是激动万分的!在此,我会将这些过程逐步记录下来,用于纪念,也便于其他人学习。我会以两篇文章分别介绍 OSS 图床与自定义域名的实现,本文将介绍实现自定义域名的具体步骤。

注册域名

在国内如阿里云腾讯云,以及国外的 NameSiloNameCheap 等平台能够注册域名,网络上推荐较多的平台是 NameSilo,大家也可以多个平台对比权衡。由于我使用着阿里云的 OSS 服务及其它一些功能,为了方便,我选择直接在阿里云平台上进行注册。

首先,在阿里云「产品」列表中点击「企业服务与云通信」,在右侧选择「域名」,并开通服务。

选择域名服务

进入域名页面后,填入你想要的域名,点击「查询域名」,便可以查看到不同后缀的域名的售价。

搜索域名

注意:在该列表中,可能首年价格会比较便宜,但续费价格可能是很贵的!一定要仔细查看价格!一般 .top 或者 .xyz 后缀的域名首年价格及续费价格会相对便宜。同时,多位数字的域名相比字母域名也会稍便宜一些。

域名价格

在购买域名之后,确保完成实名认证,此后域名便能够开始使用!

托管域名

Cloudflare 具有许多有用的功能,并且提供了免费的使用计划,因此我选择使用其对域名进行托管。

在注册 Cloudflare 之后,进入「网站」,点击「添加域」;或者右上角菜单栏点击「添加」中的「现有域」。

Cloudflare 添加域

在显示出的页面中,输入你注册的域名,其他选项默认,点击「继续」。

输入个人域名

在选择计划中,选择「Free」,选择 cf 就是为了白嫖啊,并点击「继续」。

cloudflare 免费计划

在后面的页面中,我们将会被分配到两个 Cloudflare 名称服务器地址。

DNS 服务器

进入阿里云域名控制器,域名刚注册时使用的是阿里云 DNS 服务器,我们需要将其修改为 Cloudflare DNS 服务器,将上面两个 DNS 服务器地址复制到下方「修改为非阿里云 DNS」处。

修改 DNS 服务器

提交后,你可能需要等待一段时间等待域名解析。返回 Cloudflare,后面的设置项按照默认即可,如果没有出现问题,Cloudflare 将会出现如下提示:

Cloudflare 成功托管

这代表域名已经成功被 Cloudflare 托管,后续 DNS 解析可以在 Cloudflare 处进行!当然,此时还无法通过域名直接访问到博客,因为我们还没有将博客地址与域名关联起来。

配置域名

该部分将介绍如何为 Github Pages 站点配置 apex 域(顶点域),可参考 Github 文档

进入 Github - Settings - Pages 页面,将注册的域名输入于「Custom domain」处,并点击「save」,此时会在仓库中多出一个「CNAME」文件,该文件中内容为你刚刚输入的域名。

注意:请将「CNAME」文件保存在本地博客文件夹中的 /source 目录下,否则每次使用 hexo g 命令时由于本地缺失该文件,会把库中的文件删掉。具体问题可参考这篇文章

github Pages 设置

对于子域名,直接解析 CNAME 即可;而对于顶点域,则只能使用 A 记录和 AAAA 记录进行解析。

我们需要根据文档前往 Cloudflare 设置 A 记录和 AAAA 记录,记录名称填入 @ 即可。设置后的效果如图所示:

设置 DNS 记录

此时在浏览器输入自己的域名,便能够看到自己的博客页面啦!这不,我现在已经能够通过 https://loong-leaf.top 访问到我的博客啦!

在参考的 bilibili 视频中,up 主还修改了 _config.yml 文件中的 url,但我这样做会导致网页重定向次数过多,反而无法打开自己的博客页面,特在此提示。

参考文章

bilibili - 【Hexo | 02】使用自定义域名访问博客