博客域名设置

Posted on Oct 22, 2022

设置步骤

  • Dynadot 买个域名(NameSlio 和 namecheap 也很好)

  • 解析域名:

  • 注册 Cloudflare 账号,点 Add Site,输入你的域名

  • 选择免费方案
  • ping 一下目前的 <username>.github.io ,得到目标 IP 地址(Github 官方会提供 4 条 IPv4 地址)
  • 检查 IP 是否和刚刚 ping 出来的一致(不一致的话改掉),然后点 Continue

check-ip

  • 配置页面规则
  • 更改 SSL 设置
  • 分到了两个姓名服务器,复制下来
  • 回到 Dynadot, 点击:我的域名-管理域名-<域名>
  • 点击:DNS设置
  • 在 GitHub 的 xxx.github.io 仓库,Settings- Pages 里填上你的域名,勾选 Enforce HTTPS
  • 把根目录下的 .yaml 文件的 baseURL 改为个人域名

现在可以从域名访问博客了

解决报错

从域名或 xxx.github.io 访问博客都会404

在公开仓库的 Settings-Pages 里查看,发现设置的个人域名消失了,又变回了 falasool.github.io。搜索相关问题发现,有人反馈每次 push 之后都需要重新设置个人域名。

我试了一下也是这样:设置域名后会自动创建 CNAME 文件,此时从域名或 xxx.github.io 都能访问博客。push 操作后 CNAME 又没了,个人域名或 xxx.github.io 都返回404 😮‍💨

尝试:在 Cloudflare 里把 DNS 类型改成 A 和 CNAME

还是不行,一旦 push 就打回原形

解决方法:查阅资料发现问题在于 源码仓库 hugo-sources 的Actions 配置文件,deploy 时会自动覆盖CNAME 😭,所以在原配置文件添加:

cname: anodicseal.xyz

解决!🎉🎉🎉

相关参考

Dynadot 网站注册账户、购买域名、支付宝付款、解析域名教程

使用 Cloudflare 免费 DNS 服务器解析域名到搬瓦工 VPS 主机建站教程

DNS 原理入门

DNS 查询原理详解