快速解答
如何将域名绑定到 GitHub Pages?
要将域名绑定到 GitHub Pages,请把根域名指向 GitHub 的 4 条 A 记录(185.199.108.153 至 185.199.111.153),把 www 指向你的 user.github.io 名称,然后在仓库的 Pages 设置中填写该域名。截至 2026 年 10 月 29 日,DotAlmanac 的 GitHub Pages 模板可一次性配置全部 9 条记录。
GitHub Pages DNS 一览
| A 记录(@) | 185.199.108.153 · 185.199.109.153 · 185.199.110.153 · 185.199.111.153 |
|---|---|
| AAAA 记录(@) | 2606:50c0:8000::153 · 2606:50c0:8001::153 · 2606:50c0:8002::153 · 2606:50c0:8003::153 |
| www | CNAME 指向 USERNAME.github.io,不带仓库名 |
| 在哪里填写域名 | 仓库 › Settings › Pages › Custom domain |
| 域名验证 | TXT 记录 _github-pages-challenge-USERNAME,在个人资料的 Settings › Pages 中获取 |
| HTTPS | GitHub 签发证书后,在 Pages 设置中勾选“Enforce HTTPS” |
| 模板记录的 TTL | 3600 秒(1 小时) |
| DNS 托管 | 每个 DotAlmanac 域名均免费附赠 |
将域名绑定到 GitHub Pages 之前需要准备什么?
DotAlmanac 是域名后缀指南兼注册商:先对比各个域名后缀,再无需 KYC 注册,并用加密货币支付。按照本指南操作,你需要准备三样东西。
- 一个使用 DotAlmanac 域名服务器(DNS 服务器)的域名。 该域名的“域名服务器”选项卡必须显示“我们的域名服务器”。如果域名使用的是其他域名服务器,请在对应的 DNS 服务商处添加相同的记录。
- 一个已开启 GitHub Pages 的仓库。 可以从分支发布,也可以通过 GitHub Actions 工作流发布。
- 你的 GitHub 用户名或组织名。 它要填在 www 记录中,仓库名则永远不需要填。
很多开发者会为项目网站选择 .dev 或 .app。请先看续费价格:根据 DotAlmanac 价格表,截至 2026 年 10 月 29 日,.dev 的续费价比首年价格高 44%,.app 高 67%。.dev 首年 US$8.99/年,之后 US$12.99/年。这两个域名后缀都强制要求 HTTPS,而 GitHub Pages 会提供 HTTPS。可在 .app vs .dev 中对比两者。
6 步将你的域名绑定到 GitHub Pages
先在 GitHub 上验证域名
在 GitHub 个人资料中,打开 Settings › Pages › Add a domain。GitHub 会显示一条名为
_github-pages-challenge-USERNAME的 TXT 记录及其值。在该域名的 DNS 选项卡中添加这条记录,然后点击 Verify。打开 GitHub Pages 模板
在客户中心打开该域名,然后进入 DNS › 模板 › GitHub Pages。输入你的 GitHub 用户名或组织名,例如
octocat。检查预览,然后保存
预览会列出 4 条 A 记录、4 条 AAAA 记录和 1 条 CNAME 记录。它会替换 @ 和 www 的 A、AAAA、CNAME 和 ALIAS 记录,MX 和 TXT 记录保持不变。在你点击保存之前,不会提交任何更改。
在仓库中填写自定义域名
在仓库中打开 Settings › Pages › Custom domain,输入域名并点击 Save。如果从分支发布,会在该分支中添加一个
CNAME文件;使用 GitHub Actions 工作流则不需要这个文件。等待 GitHub 完成 DNS 检查
GitHub 会检查这些记录,并在 Custom domain 下方显示结果。等待时间取决于修改前已被解析服务器缓存的记录的 TTL。
开启 Enforce HTTPS
GitHub 签发证书后,在同一 Pages 设置中勾选 Enforce HTTPS。对于 .dev 和 .app,在 HTTPS 生效之前网站无法访问。
GitHub Pages 具体需要哪些 DNS 记录?
以下是 GitHub 为根域名(apex)和 www 公布的记录值。DotAlmanac 模板会准确添加这 9 条记录。
| 类型 | 名称 | 数值 | TTL |
|---|---|---|---|
| A | @ | 185.199.108.153 | 3600 |
| A | @ | 185.199.109.153 | 3600 |
| A | @ | 185.199.110.153 | 3600 |
| A | @ | 185.199.111.153 | 3600 |
| AAAA | @ | 2606:50c0:8000::153 | 3600 |
| AAAA | @ | 2606:50c0:8001::153 | 3600 |
| AAAA | @ | 2606:50c0:8002::153 | 3600 |
| AAAA | @ | 2606:50c0:8003::153 | 3600 |
| CNAME | www | USERNAME.github.io | 3600 |
将 USERNAME 替换为你的 GitHub 用户名或组织名。请以 GitHub 官方文档和仓库的 Pages 设置为准:如果 GitHub 为你的网站显示了其他值,请使用那些值。
可以直接以区域文件(zone file)的形式粘贴记录吗?
可以。打开 DNS › 导入 / 导出 › 导入区域文件,选择“添加到现有记录”,然后粘贴下面的内容。将 octocat 替换为你自己的用户名。导入功能支持标准 BIND 语法,会显示预览,在你保存之前不会提交任何更改。
@ 3600 IN A 185.199.108.153
@ 3600 IN A 185.199.109.153
@ 3600 IN A 185.199.110.153
@ 3600 IN A 185.199.111.153
@ 3600 IN AAAA 2606:50c0:8000::153
@ 3600 IN AAAA 2606:50c0:8001::153
@ 3600 IN AAAA 2606:50c0:8002::153
@ 3600 IN AAAA 2606:50c0:8003::153
www 3600 IN CNAME octocat.github.io.GitHub Pages 应该用裸域名还是 www?
两者都配置,然后在仓库中填写你偏好的那一个。当根域名和 www 的记录都正确时,GitHub Pages 会把另一个自动跳转到它。
GitHub 每个网站只支持一个根域名或一个 www 域名。不支持两个根域名、两个 www 域名,也不支持根域名与另一个自定义子域名同时使用。如果项目放在子域名上,例如 docs.example.com,只需添加一条从 docs 指向 USERNAME.github.io 的 CNAME 记录,无需添加 A 记录。
域名多久才能在 GitHub Pages 上生效?
这取决于你修改之前解析器所看到的记录的 TTL。TTL 是解析器将应答保存在缓存中的秒数。
- 如果该名称之前没有任何记录,保存后即可立即解析。
- 如果是替换已有记录,部分缓存会保留旧值,直到旧的 TTL 到期。模板记录使用 3600 秒,即 1 小时。
- 迁移前请提前规划:在修改前一天将旧记录的 TTL 降低到 300 秒。
GitHub 官方文档指出,DNS 更改最长可能需要 24 小时才能全球生效。DNS 检查通过后,才会签发 HTTPS 证书。
为什么 GitHub 提示我的域名配置不正确?
大多数情况下,是同一名称下仍有旧记录在应答。请按顺序检查以下几点:
- 残留记录。 @ 上旧的 A、AAAA 或 ALIAS 记录,或停放(parking)记录,会与 GitHub 的记录冲突。模板会自动删除它们;手动修改时常常会漏掉一条。
- CNAME 中包含仓库名。 www 的目标只能是
USERNAME.github.io。 - 泛解析记录。 GitHub 警告,诸如
*.example.com这样的记录会带来域名被劫持的风险。请将其删除。 - 使用了其他域名服务器。 如果域名使用的是其他 DNS 服务商,DotAlmanac DNS 标签页中的记录将不会生效。
- CAA 记录。 如果你发布了 CAA 记录,GitHub 要求至少有一条值为
letsencrypt.org的记录,才能启用 HTTPS。
可使用 dig example.com +short 或任意在线 DNS 查询工具检测结果。
GitHub Pages 与自定义域名:常见问题
GitHub Pages 需要全部 4 条 A 记录吗?
需要。GitHub 为实现冗余公布了 4 个地址,模板会全部添加。GitHub 还建议在 A 记录之外同时添加 4 条 AAAA 记录,以服务 IPv6 访客。
为什么要先验证域名,再将其添加到仓库?
验证可以防止其他 GitHub 用户将你的域名用于他们自己的 Pages 站点。如果不验证,删除仓库或关闭 Pages 站点后,域名可能面临被劫持的风险。请先验证,再将域名添加到仓库。
将域名指向 GitHub Pages 后,还能继续使用我的邮箱吗?
可以。GitHub Pages 模板只修改 @ 和 www 的 A、AAAA、CNAME 和 ALIAS 记录。你的 MX、SPF 及其他 TXT 记录保持不变。
在 DotAlmanac 为 GitHub Pages 托管 DNS 需要额外付费吗?
不需要。每个域名均免费提供 DNS 托管、模板和区域文件导入。你只需支付域名费用,例如 .com 为 US$11.99/年,详见价格页面。
GitHub Pages 项目站点适合用哪个域名后缀?
任何域名后缀都可以用于 GitHub Pages。开发者常选择 .dev、.io 或 .com;可在最适合开发者的域名后缀中比较。除了首年价格,也要查看续费价格。
来源 (3)
- 管理 GitHub Pages 网站的自定义域名 — GitHub Docs (核查于 2026-10-29)
- 为 GitHub Pages 验证自定义域名 — GitHub Docs (核查于 2026-10-29)
- 自定义域名与 GitHub Pages 故障排查 — GitHub Docs (核查于 2026-10-29)
需要为你的 GitHub Pages 站点注册域名?
无需 KYC 即可注册,支持加密货币支付,并可在 DNS 标签页一键应用 GitHub Pages 模板。