我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

自定义域故障排除

GitHub 页面 可用于具有 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。更多信息请参阅“GitHub 的产品。”

如果您的 GitHub 页面 站点没有在自定义域加载或 HTTPS 未正常工作,您可以通过查看常见的设置和配置问题进行故障排除。

提示:如果您最近更改或删除了自定义域,并且无法在浏览器中访问新 URL,则需要清除浏览器的缓存以访问新的自定义域。 有关清除缓存的更多信息,请参阅浏览器的帮助站点。

本文内容:

GitHub 仓库设置错误

提示:自定义域存储在仓库根目录的 CNAME 文件中。 您可以通过仓库设置添加或更新自定义域。 您也可以直接编辑文件来更新自定义域,但我们建议使用“添加或删除 GitHub 页面 站点的自定义域”中的步骤。

CNAME 文件格式不正确

有关设置自定义域的更多信息,请参阅“添加或删除 GitHub 页面 站点的自定义域”。

CNAME 文件中的多个域

CNAME 文件只能包含一个域。 要将多个域指向同一页面,请通过 DNS 提供商设置重定向。

已采用 CNAME

如果您的自定义域已被其他 GitHub 页面 站点使用,您将收到页面构建警告。 当您在 GitHub 页面 站点的仓库设置中添加或编辑自定义域时,我们会在仓库根目录中自动创建 CNAME 文件。 CNAME 文件中的自定义域只能使用一次。 以下是您收到重复自定义域页面构建警告时的一些示例:

如果您拥有在其 CNAME 文件中使用自定义域的其他 GitHub 页面 仓库,则必须从其他仓库的 CNAME 文件中删除该自定义域,然后才能在不同的页面站点仓库中使用它。

要从您拥有的其他 GitHub 页面 站点仓库删除自定义域,您可以向 GitHub 页面 站点添加不同的自定义域或仅删除旧自定义域

如果您并未拥有包含使用自定义域的 CNAME 文件的仓库,请尝试联系所有者并请求他们更新其自定义域。 如果您不确定哪个仓库包含使用自定义域的 CNAME 文件,请联系 GitHub 支持GitHub 高级支持

已达到用户或组织页面站点的限制

您只能为每个 GitHub 帐户创建一个用户或组织页面站点。 例如,每个组织帐户只能有一个组织页面站点。 同样地,每个单独的用户帐户只能有一个用户页面站点。 项目页面站点不受限制。

DNS 配置错误

提示:如果您将 GitHub 页面 默认域指向自定义域时遇到问题,则联系 DNS 提供商寻求帮助。 他们可帮助确认您已正确配置自定义域。

DNS 记录未指向 GitHub 的服务器

要为页面提供服务,您的 DNS 记录必须指向 GitHub 的服务器。 要确认自定义域指向 GitHub 的服务器,请将 dig 命令与自定义域一起使用。 dig 命令会向您显示自定义域指向的位置。 例如:

$ dig example.com +nostats +nocomments +nocmd
example.com.   3600  IN  A 185.199.108.153

在上例中,example.com 指向 IP 地址 185.199.108.153

如果您通过 DNS 提供商配置 A 记录,则 A 记录必须将自定义域指向以下 IP 地址:

注意:

  • 由于我们通过全球内容分发网络为页面提供服务,因此您可能会看到不同的 IP 地址。 使用 dig username.github.io 可查看完整的解析路径。 请注意,DNS 缓存可能会导致延迟。
  • 如果您使用指向 192.30.252.153192.30.252.154A 记录,则需要更新站点的 DNS 设置,以便通过 HTTPS 或使用内容分发网络提供。 更多信息请参阅“HTTPS 错误”。
  • 如果您使用指向 207.97.227.245204.232.175.78A 记录,则需要更新 DNS 设置,因为我们不再直接从这些服务器提供页面服务。

如果您通过 DNS 提供商配置了 ALIASANAMECNAME 记录,则您的 DNS 记录应指向 GitHub 页面 默认域,例如 YOUR-GITHUB-USERNAME.github.io。 您的默认 GitHub 页面 域由您所拥有的页面站点类型来决定。 例如,请参阅此域图

如果您在创建这些记录时需要帮助,请联系 DNS 提供商,因为他们应该有最详细的说明。 有关通过 DNS 提供商配置 DNS 记录的一些指导,请参阅“将自定义域与 GitHub 页面 一起使用”。

不支持的自定义域名

如果您的自定义域不受支持,则可能需要更改自定义域。 您还可以联系 DNS 提供商,了解他们是否提供域名转发服务,以将您的站点重定向到不支持的自定义域。

不支持的自定义域包括:

危险:*不要将通配符 DNS 记录(例如 `.example.com`)与 GitHub 页面 一起使用! 通配符 DNS 记录将允许任何人您的其中一个子域上托管 GitHub 页面 站点。

有关支持的自定义域的列表,请参阅“关于支持的自定义域”。

HTTPS 错误

通过 CNAMEALIASANAMEA DNS 记录正确配置的使用自定义域的 GitHub 页面 站点可通过 HTTPS 进行访问。 更多信息请参阅“使用 HTTPS 保护 GitHub 页面 站点”。

当您添加并正确配置自定义域后,您的 GitHub 页面 站点可能需要长达一个小时才能通过 HTTPS 使用。 更新现有 DNS 设置后,您可能需要删除自定义域并将其重新添加到 GitHub 帐户,以触发启用 HTTPS 的进程。 更多信息请参阅“将自定义域与 GitHub Pages 一起使用”。

如果您已选择使用证书颁发机构授权 (CAA) 记录,则必须至少存在一个值为 letsencrypt.org 的 CAA 记录,以便您的 GitHub 页面 站点能够通过 HTTPS 进行访问。 更多信息请参阅 Let's Encrypt 文档中的“证书颁发机构授权 (CAA)”。

使用 A 记录配置自定义域

如果使用 A 记录配置自定义域,则 A 记录必须指向以下 IP 地址之一才能使 HTTPS 正常工作:

更新任何 A 记录 IP 地址后,必须删除自定义域,然后再将其重新添加到用于发布页面站点的仓库,以触发启用 HTTPS 进程。 更多信息请参阅“设置 apex 域”中的“通过 DNS 提供商配置 A 记录”。

Linux 中的 URL 格式错误

警告:如果 GitHub 页面 站点的 URL 包含以破折号开头或结尾或者有连续破折号的用户名或组织名称,则使用 Linux 浏览的用户在访问该站点时会收到服务器错误。要解决此问题,请更改您的 GitHub 用户名以删除非字母数字字符。有关如何执行此操作的说明,请参阅“更改 GitHub 用户名。”

问问别人

找不到要找的内容?

联系我们