原来我的 github page 绑定的域名是 blog.chyroc.cn,然后我的 chyroc/chyroc.github.io 项目是我的博客项目,这个本来是没有什么问题的。

但是如果你其他的项目也开启了 github page 服务,比如项目 https://github.com/chyroc/golang-wasm-example ,这个项目开启 github page 后,访问的地址是 https://blog.chyroc.cn/golang-wasm-example ,一个和 blog 没啥关系的项目的访问链接里面带了 blog,这样就比较奇怪。

所以我准备将我的 github page 绑定的域名从 blog.chyroc.cn 改为 chyroc.cn。

第一步,修改 github repo 的 CNAME 记录

commit:https://github.com/chyroc/blog/commit/b253413fa3d64b4f9408ebe1100fcf79faa9d883

-blog.chyroc.cn
+chyroc.cn

第二步,修改域名解析记录

  • 移除原来的主机类型为@的 A 记录
  • 移除原来指向 chyroc.github.io 的主机类型为blog的 CNAME 记录
  • 添加主机类型为@的指向 github page ip 的 A 记录(可选 ip 在这里有记录:我用的是 185.199.108.153)

第三步,修改服务器 nginx 配置

  • 移除 chyroc.cn 的 nginx 配置

原来的 chyroc.cn 是指向我的云主机的,由服务器上面的 nginx 做反向代理,现在需要删除该配置,即移除 server_name chyroc.cn这一项

  • 添加 blog.chyroc.cn 的重定向

为了保证原来的 blog 链接还能正常工作,也就是 https://blog.chyroc.cn/posts/some-experience-with-writing-dockerfile/ 还能正常访问,需要设置 blog.chyroc.cn/xxx 重定向到 chyroc.cn/xxx

我们使用 nginx 做这件事情,添加 nginx 配置:

server {
    server_name  blog.chyroc.cn;
    return 301 https://chyroc.cn/$request_uri;
}

第四步,修改各个地方硬编码的 blog.chyroc.cn

例如:

  • 本博客中链接
  • 各个介绍
  • 等等