CNAME 错误
如果您通过自定义 GitHub Actions 工作流进行发布,任何 CNAME 文件都会被忽略,且不需要。
如果您从分支进行发布,自定义域名存放在发布源根目录的 CNAME 文件中。您可以通过仓库设置或手动方式添加或更新此文件。有关更多信息,请参阅 管理 GitHub Pages 站点的自定义域名。
为了使站点在正确的域名下渲染,请确保 CNAME 文件仍然存在于仓库中。例如,许多静态站点生成器会强制推送到您的仓库,这可能会覆盖您在配置自定义域名时添加的 CNAME 文件。如果您在本地构建站点并将生成的文件推送到 GitHub,请先拉取包含 CNAME 文件的提交到本地仓库,这样该文件才能包含在构建中。
然后,确保 CNAME 文件的格式正确。
- CNAME 文件名必须全为大写。
- CNAME 文件只能包含一个域名。若要将多个域名指向您的站点,必须通过 DNS 提供商设置重定向。
- CNAME 文件只能包含域名本身。例如,
www.example.com、blog.example.com或example.com。 - 域名必须在所有 GitHub Pages 站点中唯一。例如,如果其他仓库的 CNAME 文件包含
example.com,则您不能在自己的仓库的 CNAME 文件中使用example.com。
DNS 配置错误
如果您在将站点的默认域名指向自定义域名时遇到困难,请联系您的 DNS 提供商。
您也可以使用以下方法之一来测试自定义域名的 DNS 记录是否配置正确
- 使用诸如
dig的 CLI 工具。有关更多信息,请参阅 管理 GitHub Pages 站点的自定义域名。 - 在线 DNS 查询工具。
不受支持的自定义域名
如果您的自定义域名不受支持,您可能需要更改为受支持的域名。您也可以联系 DNS 提供商,了解他们是否提供域名转发服务。
确保您的站点不
-
使用多个顶级域名。例如,同时使用
example.com和anotherexample.com。 -
使用多个
www子域名。例如,同时使用www.example.com和www.anotherexample.com。 -
同时使用顶级域名和自定义子域名。例如,同时使用
example.com和docs.example.com。唯一的例外是
www子域名。如果配置正确,www子域名会自动重定向到顶级域名。有关更多信息,请参阅 管理 GitHub Pages 站点的自定义域名。
警告
强烈建议您不要使用通配符 DNS 记录,例如 *.example.com。这些记录会导致您立即面临域名被接管的风险,即使您已经验证了域名。例如,验证了 example.com 可以防止他人使用 a.example.com,但仍可能被他人接管 b.a.example.com(该子域受通配符记录覆盖)。
关于受支持的自定义域名列表,请参阅 关于自定义域名和 GitHub Pages。
HTTPS 错误
使用正确配置了 CNAME、ALIAS、ANAME 或 A DNS 记录的自定义域名的 GitHub Pages 站点,可通过 HTTPS 访问。有关更多信息,请参阅 使用 HTTPS 保护您的 GitHub Pages 站点。
在您配置自定义域名后,站点可通过 HTTPS 访问可能需要最长约一小时的时间。更新已有的 DNS 设置后,您可能需要将自定义域名从站点仓库中移除并重新添加,以触发 HTTPS 启用流程。有关更多信息,请参阅 管理 GitHub Pages 站点的自定义域名。
如果您使用证书授权(CAA)记录,必须至少存在一条值为 letsencrypt.org 的 CAA 记录,站点才能通过 HTTPS 访问。有关更多信息,请参阅 Let’s Encrypt 文档中的 证书授权(CAA)。
Linux 上的 URL 格式
如果站点的 URL 包含以连字符开头或结尾、或包含连续连字符的用户名或组织名,使用 Linux 浏览的用户在访问站点时会收到服务器错误。解决办法是更改您的 GitHub 用户名,去除非字母数字字符。有关更多信息,请参阅 更改用户名。
浏览器缓存
如果您最近更改或移除了自定义域名,但在浏览器中仍无法访问新的 URL,可能需要清除浏览器缓存才能访问新 URL。有关清除缓存的更多信息,请参阅相应浏览器的文档。
域名已被占用
如果您尝试使用的自定义域名显示已被占用,您可以先对该域名进行验证,以将其设为可供自己使用。有关更多信息,请参阅 验证 GitHub Pages 的自定义域名。