一、域名注册
1.1 选择域名服务商
国内主流注册商:
| 服务商 | 特点 |
|---|---|
| 阿里云(万网) | 国内最大,.com 首年约 55 元 |
| 腾讯云 | .com 首年约 67 元,和 DNSPod 联动 |
| Namesilo | 国外老牌,首年约 80 元,隐私保护免费 |
建议:国内用户选阿里云或腾讯云,实名认证快、续费方便。
1.2 挑选域名
常见后缀及用途:
| 后缀 | 参考价格(首年) | 适用场景 |
|---|---|---|
.com |
~55 元 | 通用首选,推荐 |
.cn |
~29 元 | 国内站点,需实名 |
.icu |
~18 元 | 个人博客,性价比高 |
.top |
~10 元 | 入门级 |
.xyz |
~8 元 | 便宜但易被滥用 |
命名技巧:
1 | |
1.3 注册流程(以阿里云为例)
1 | |
实名认证通常需要 身份证正反面照片,审核时间约 5-30 分钟。
二、DNS 托管到 Cloudflare
将域名 DNS 交给 Cloudflare 管理,利用其 CDN 加速和安全防护。
2.1 注册 Cloudflare 并添加站点
1 | |
2.2 修改域名 NS 记录
Cloudflare 会提供两个 Nameserver 地址,例如:
1 | |
回到域名注册商的控制台,将默认 DNS 修改为 Cloudflare 的 NS:
1 | |
⏱ NS 修改全球生效通常需要 5 分钟到 24 小时,一般 1 小时内生效。
2.3 添加 DNS 记录
生效后,在 Cloudflare DNS 面板中添加解析记录:
| 类型 | 名称 | 值 | 代理 |
|---|---|---|---|
| A | @ |
192.0.2.1(演示IP) | ⚡ 开启 |
| CNAME | www |
你的博客域名 | ⚡ 开启 |
对于 GitHub Pages / Cloudflare Pages 托管,更推荐用 CNAME:
| 类型 | 名称 | 值 | 代理 |
|---|---|---|---|
| CNAME | @ |
你的用户名.github.io |
⚡ 开启 |
| CNAME | www |
你的用户名.github.io |
⚡ 开启 |
注意:CNAME 的记录值不能使用
@,某些域名服务商需要改用 A 记录或 URL 转发。
三、绑定域名到博客平台
3.1 Cloudflare Pages 绑定自定义域名
1 | |
3.2 GitHub Pages 绑定自定义域名
方式一:仓库设置中配置
1 | |
方式二:项目中添加 CNAME 文件
在 source/ 目录下创建 CNAME 文件(无扩展名):
1 | |
这样 Hexo 构建时会自动包含该文件。
3.3 Vercel 绑定自定义域名
1 | |
四、SSL 证书
三种方式获取免费证书:
| 方式 | 有效期 | 自动续期 |
|---|---|---|
| Cloudflare 自动证书 | 15 年 | ✅ 自动 |
| Let’s Encrypt(Certbot) | 90 天 | ✅ 可配置 |
| 阿里云免费证书 | 1 年 | ❌ 需手动 |
推荐使用 Cloudflare 代理(橙色云朵开启),自动提供 SSL 且无需手动续期。
五、常见踩坑记录
❌ 页面显示 “This site can’t be reached”
原因:DNS 记录未正确配置或未生效。
解决:
1 | |
❌ 自定义域名下页面 404
原因:GitHub Pages 开启了 “Enforce HTTPS” 但证书未生效,或 CNAME 文件缺失。
解决:
1 | |
❌ Cloudflare 代理导致循环重定向
原因:博客源站也开启了 HTTPS,Cloudflare 代理模式(Flexible SSL)下回源使用 HTTP 导致重定向循环。
解决:
1 | |
❌ 泛域名解析冲突
如果同时存在以下记录:
1 | |
* 泛解析可能覆盖 @ 的配置,建议精确配置需要的子域名。
❌ CNAME 记录与根域名冲突
根据 DNS 规范,根域名(@)不能使用 CNAME 记录(RFC 1034)。但部分服务商支持 CNAME Flattening(Cloudflare 默认支持),所以可以直接在根域名使用 CNAME。
如果你的注册商不支持,改用 A 记录指向 GitHub Pages 的 IP:
1 | |
六、本博客的配置参考
1 | |
完整链路:
1 | |