域名迁移记录

域名迁移记录
czjun一、同步上线主要功能
0. 目前有两个域名
czjun.top全新域名你值得拥有5201460.xyz即将过期域名
目标:我们先再不动老域名的情况下,直接将新域名指向blog
1. 域名购买与备案
我是在阿里云购买的.top域名
10年240RMB,大致和6位数字.xyz的域名费用齐平。
随后就是要实名认证,我有点记不清在国内运营商购买的域名是否必须要备案才能迁移DNS域名服务器
不过无论怎样这次我并没有选择将域名托管至cloudflare,因为从域名解析和cdn加速访问的角度来说,我想看看国内的服务商到底有多快,是否真的存在所谓优势
🆗在根据官方的教程完成上述两大操作后,就要开始真正的任务了
2. 域名重定向
没错就是修改DNS解析:因为我是GitHub page 所以参考了以下文档
管理 GitHub Pages 站点的自定义域 - GitHub 文档
- 简单来说可以从你是否选用子域名分为两个方案
方案 A:使用 www 子域名(推荐blog)
CNAME 记录:
- 主机记录:
www或blog - 记录类型:
CNAME - 记录值:
czjun.github.io
- 主机记录:
方案 B:直接使用根域名(需 DNS 服务商支持 CNAME 平滑化)
如果使用
czjun.top作为主域名,需要你的 DNS 服务商支持 CNAME flattening 或 ANAME 记录。
CNAME/ANAME 记录:
- 主机记录:
@ - 记录类型:
CNAME或ANAME - 记录值:
czjun.github.io
- 主机记录:
或者使用 A/AAAA 记录
A 记录(用于根域名重定向):
- 主机记录:
@ - 记录类型:
A - 记录值:添加 GitHub Pages 的 IPv4 地址(当前为
185.199.108.153,185.199.109.153,185.199.110.153,185.199.111.153)
- 主机记录:
AAAA 记录(可选,用于 IPv6):
- 主机记录:
@ - 记录类型:
AAAA - 记录值:添加 GitHub Pages 的 IPv6 地址(当前为
2606:50c0:8000::153,2606:50c0:8001::153,2606:50c0:8002::153,2606:50c0:8003::153)
- 主机记录:
⚠️ 注意:直接在根域名
@上设置 CNAME 可能会与 MX 邮件记录冲突,因此使用 A/AAAA 记录 是更稳妥的选择。
我选择的是方案A,操作完后如图所示(最后一条)
事实上目前我们应该只用了最后一条解析,至于为什么配置根域名后面会讲
接下来尝试访问网站,输入blog.czjun.top
会发现现在没有了https,没错,比较于cloudflare、阿里云是不会自动签发ssl证书的
但是你别急,好在Github会出手
3.在 GitHub Pages 中设置自定义域名
- 进入你的 GitHub 仓库
czjun/czjun.github.io。 - 点击顶部导航栏的 Settings(设置)。
- 在左侧菜单中找到并点击 Pages(页面)。
- 在 Custom domain(自定义域名)输入框中,填写你的域名,例如
www.czjun.top或czjun.top。 - 点击 Save(保存)。
- 保存后,GitHub 会自动检查你的 DNS 配置。检查通过后,Enforce HTTPS(强制 HTTPS)选项将变为可勾选状态。
- 勾选 Enforce HTTPS,GitHub 会自动为你颁发并配置 Let’s Encrypt SSL 证书。
同时你也可以选择阿里云手动签发(事实上他也支持自动签发),但是如果你和我也一样也是用的GitHub Page,相信我,交给GitHub 不仅仅是因为方便,更是因为我这种无后端的博客,无法手动部署证书到 GitHub Pages,难绷😎🤡🤡🤣
4. 创建并提交 CNAME 文件
为了确保配置的持久性,建议在你的仓库根目录下创建一个 CNAME 文件:
在你的本地仓库根目录下,新建一个名为
CNAME的文件(无后缀名)。文件内容只写一行你的自定义域名,例如:
1
www.czjun.top
或
1
czjun.top
将这个文件提交并推送到 GitHub 仓库
记住 Github Pages 需要使用 CNAME 文件自定义域名,请将 CNAME 文件置于
source目录下,只有这样hexo deploy才能将 CNAME 文件一并推送至部署分支。
5. 验证与等待
DNS 传播:DNS 记录的更改可能需要几分钟到几小时(最长 48 小时)在全球范围内生效。可以使用
nslookup czjun.top或dig czjun.top命令来检查解析是否指向了 GitHub 的服务器。证书颁发:在你勾选
Enforce HTTPS后,GitHub 需要一些时间来验证域名所有权并颁发证书。这个过程通常在几分钟到一小时内完成。测试访问:证书颁发完成后,可以通过
https://blog.czjun.top或https://czjun.top来访问网站尝试。
6. 常见问题排查
- 404 错误:确保 GitHub Pages 设置中的自定义域名与 DNS 解析的域名完全一致,并且仓库根目录下的
CNAME文件内容正确。 - HTTPS 无法开启:检查 DNS 解析是否正确,GitHub 能否成功访问你的域名。如果一直无法开启,可以尝试移除并重新添加自定义域名。
- 证书错误:这通常是因为证书还在颁发中,或者浏览器缓存了旧的证书。请耐心等待,或清除浏览器缓存后重试。、
7. 我还是想用根/二级域名
现在通过二级域名是访问正常了,但是每次输入这个blog.也太难受了,但是输入根域名又无法访问(因为配置了 A/AAAA 记录指向 GitHub Pages 的 IP,但 GitHub Pages 没有把 czjun.top 作为自定义域名,所以访问时会返回 404)有没有解决办法呢?
有的兄弟有的,那就是
方案一: 显性 URL 转发
- 记录:
- 主机记录:
@ - 记录类型:
显性 URL - 记录值:
https://blog.czjun.top - 选择 “301 永久重定向”。
这种方式下,用户访问 czjun.top 时,浏览器地址栏会变成 blog.czjun.top
在哪里创建显性 URL 转发?
在 Cloudflare 控制台,进入你的域名,点击
Rules->Page Rules-> 重定向到新 URL在阿里云则是在域名解析直接填写,而且跳转的域名必须备案🤡🤡🤡
如果你也因为备案问题无法跳转不妨试试
方案二:使用 GitHub Pages 内置的重定向
创建一个新的仓库
新建一个名为
czjun/czjun.top的仓库。在这个仓库的根目录下,创建一个
index.html文件,内容如下:1
2
3
4
5
6
7
8
9
10
<html>
<head>
<meta http-equiv="refresh" content="0; URL='https://blog.czjun.top'" />
<title>Redirecting...</title>
</head>
<body>
Redirecting to <a href="https://blog.czjun.top">blog.czjun.top</a>...
</body>
</html>开启这个新仓库的 GitHub Pages 功能,并将
czjun.top设置为它的自定义域名。
原理
当用户访问
czjun.top时,GitHub Pages 会返回这个index.html文件,浏览器会自动执行重定向,跳转到blog.czjun.top。这种方式完全在 GitHub 服务器上完成,不依赖阿里云的 URL 转发,因此不需要备案。
至此,主要工作就完成的差不多了
我发现:还不如将域名托管到cloudflare上,但是我都忙活了这么半天了,不用下阿里云我心难安,
日后再迁移吧🤡🤡🤡🤡难绷在线图床必须用cf代理方便,于是火速换回cf,有一说一太方便了,自动扫描原DNS解析记录,我甚至什么都不用输入🤣🤣🤣🤣
很难想象第一章这点东西拖了不知道多久,2.27才写完,不过一动起手来了还是蛮快的,边写边改大概花了4h,主要是这个阿里云我还顺便搞了下ssl证书签发,可是后来发现根本用不上🤣🤣🤣🤣,这部分也没写进去,懒得写了(没必要就是)
二、其他与域名绑定的功能
其实就是在线图床(开始头大😥😥😥)
1.在线图床
我是用的是PicGo+cloudflare-R2储存桶的方案
所以这两个服务都要改动
先改CF的R2储存桶
- 添加自定义域
可以发现桶里的URL现在有两个了
- 禁用老域名,同时在 VScode 里直接查找替换,将
image.czjun.top换成image.czjun.top(只用换贴文和配置文件里的,html就不用换)可以顺手将非图片类也一并替换
- 修改PicGo的相关选项
- 万事大吉,可以和将要过期的域名说拜拜了
刚好现在是过年,这何尝不是一种辞旧迎新,
那么祝看到这里的你















