
域名注册、解析及分配
The remaining content of your post.
第一步:获取 GitHub Pages 的 IP 地址(用于 A 记录)
- 打开浏览器,访问 GitHub 官方文档:GitHub Pages IP 地址列表 。
- 复制以下 4 个 IP 地址(直接从这里抄):
185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
第二步:Cloudflare 域名解析设置
- 登录 Cloudflare:访问 https://dash.cloudflare.com ,选择你的域名。
- 进入 DNS 设置:点击左侧菜单 DNS > Records。
- 删除旧记录(如果有):删除指向 GitHub 的旧 A 记录或 CNAME 记录。
- 添加根域名解析(A 记录):
- 点击 Add Record。
- 类型选择 A。
- 名称填写 @(表示根域名,如
yourdomain.com
)。 - IPv4 地址填写刚才复制的 4 个 GitHub IP,分 4 次添加(每个 IP 单独一条 A 记录):
- 第一条:
185.199.108.153
- 第二条:
185.199.109.153
- 第三条:
185.199.110.153
- 第四条:
185.199.111.153
- 第一条:
- TTL 选择 Auto(保持默认)。
- 代理状态(橙色云朵)关闭(点击云朵变成灰色,避免 Cloudflare 代理干扰初始设置)。
- 添加 www 子域名解析(CNAME 记录):
- 点击 Add Record。
- 类型选择 CNAME。
- 名称填写 www(表示
www.yourdomain.com
)。 - 目标填写 你的GitHub用户名.github.io(如
yourgithubname.github.io
)。 - TTL 选择 Auto。
- 代理状态同样关闭(灰色云朵)。
第三步:GitHub 仓库设置
- 在本地 Hugo 项目中创建 CNAME 文件:
- 打开 Mac 的 终端(Terminal)。
- 进入你的 Hugo 项目根目录:
cd ~/Documents/my-hugo-blog # 替换为你的实际路径
- 生成 CNAME 文件:
echo "www.yourdomain.com" > static/CNAME # 替换为你的域名
- 检查是否成功:
cat static/CNAME # 应该输出你的域名
- 重新生成并推送网站到 GitHub:
hugo -D # 生成静态文件到 public 文件夹 cd public # 进入 public 目录 git add . # 添加所有文件 git commit -m "Add CNAME file for custom domain" git push origin main # 推送到 GitHub
- 在 GitHub 启用自定义域名:
- 打开浏览器,进入你的 GitHub 仓库。
- 点击 Settings > Pages。
- 在 Custom domain 输入框填写
www.yourdomain.com
,点击 Save。 - 勾选 Enforce HTTPS(如果显示为灰色,等待几分钟刷新后再勾选)。
第四步:Cloudflare 启用 HTTPS 和代理
-
登录 Cloudflare 中文控制台
访问 https://dash.cloudflare.com ,确保右上角语言是 中文(如果显示英文,点击右上角地球图标切换)。 -
进入 SSL/TLS 设置
- 在域名管理面板中,点击左侧菜单栏的 SSL/TLS。
- 这里会看到 3 个选项卡:
- 概述(Overview)
- 边缘证书(Edge Certificates)
- 源服务器(Origin Server)
-
设置加密模式为“完全(严格)”
- 点击 概述 > 找到 SSL/TLS 加密模式。
- 下拉选择 完全(严格),系统会自动保存。
-
开启“始终使用 HTTPS”
- 点击 边缘证书 选项卡。
- 向下滚动找到 始终使用 HTTPS,点击开关将其启用(显示为蓝色)。
-
启用 Cloudflare 代理(打开橙色云朵)
- 回到左侧菜单,点击 DNS > 记录。
- 找到之前添加的 A 记录 和 CNAME 记录,点击每条记录右侧的灰色云朵图标,将其变为 橙色(表示流量经过 Cloudflare 代理,可隐藏服务器 IP 并加速)。
验证是否生效
- 访问你的域名
https://www.yourdomain.com
,浏览器地址栏应显示绿色锁标志。 - 输入
http://yourdomain.com
(不带 HTTPS),应自动跳转到https://www.yourdomain.com
(因开启了“始终使用 HTTPS”)。
第五步:验证是否成功
- 检查 DNS 是否生效:
- 在 Mac 终端运行:
dig www.yourdomain.com +short # 应该返回 GitHub 的 IP dig yourdomain.com +short # 应该返回你设置的 4 个 IP
- 在 Mac 终端运行:
- 访问你的域名:
- 打开浏览器,访问
http://yourdomain.com
和http://www.yourdomain.com
,应该自动跳转到 HTTPS 并显示博客内容。
- 打开浏览器,访问
- 等待 HTTPS 证书:
- GitHub 会自动为你的域名签发 HTTPS 证书,最长需要 24 小时。如果暂时未生效,隔几小时再检查。