跳至主要内容

关于自定义域名和 GitHub Pages

GitHub Pages 支持使用自定义域名,或将您网站 URL 的根目录从默认值(例如 octocat.github.io)更改为您拥有的任何域名。

谁可以使用此功能?

GitHub Pages 可用于使用 GitHub Free 和 GitHub Free for organizations 的公共仓库,以及使用 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。有关更多信息,请参阅“GitHub 的计划”。

从 2024 年 6 月 30 日起,所有 GitHub Pages 构建都将使用 GitHub Actions。无需进行其他更改,但必须在您的仓库中启用 GitHub Actions 才能继续构建。有关启用 GitHub Actions 的更多信息,请参阅“管理仓库的 GitHub Actions 设置”。

支持的自定义域名

提示: 我们建议您在将自定义域名添加到仓库之前验证它,以提高安全性并避免接管攻击。有关更多信息,请参阅“验证您的 GitHub Pages 自定义域名”。

在 GitHub.com 上,GitHub Pages 支持两种类型的域名:子域名和顶级域名。有关不支持的自定义域名的列表,请参阅“自定义域名故障排除和 GitHub Pages”。

支持的自定义域名类型示例
www 子域名www.example.com
自定义子域名blog.example.com
顶级域名example.com

您可以为您的网站设置顶级域名和 www 子域名配置,也可以同时设置两者。有关顶级域名的更多信息,请参阅“使用顶级域名作为您的 GitHub Pages 网站”。

我们建议始终使用 www 子域名,即使您也使用顶级域名。当您使用顶级域名创建新网站时,我们会自动尝试保护 www 子域名以供在提供网站内容时使用,但您需要进行 DNS 更改才能使用 www 子域名。如果您配置了 www 子域名,我们会自动尝试保护关联的顶级域名。有关更多信息,请参阅“管理您的 GitHub Pages 网站的自定义域名”。

在多个存储库中使用自定义域名

如果您为用户或组织网站设置了自定义域名,默认情况下,相同的自定义域名将用于同一帐户拥有的所有项目网站。有关网站类型的更多信息,请参阅“关于 GitHub Pages”。

例如,如果您用户网站的自定义域名是 www.octocat.com,并且您有一个未配置自定义域名的项目网站,该网站从名为 octo-project 的存储库发布,则该存储库的 GitHub Pages 网站将在 www.octocat.com/octo-project 上可用。

您可以通过将自定义域名添加到单个存储库来覆盖默认的自定义域名。

注意:私下发布的项目网站的 URL 不会受到用户或组织网站的自定义域名的影响。有关私下发布网站的更多信息,请参阅 GitHub Enterprise Cloud 文档中的“更改 GitHub Pages 网站的可见性”。

要移除默认自定义域名,您必须从您的用户或组织网站中移除自定义域名。

为您的 GitHub Pages 网站使用子域名

子域名是 URL 中根域名之前的部分。您可以将子域名配置为 www 或作为您网站的独立部分,例如 blog.example.com

子域名是通过您的 DNS 提供商使用 CNAME 记录配置的。有关更多信息,请参阅“管理您的 GitHub Pages 网站的自定义域名”。

www 子域名

www 子域名是最常用的子域名类型。例如,www.example.com 包含 www 子域名。

www 子域名是最稳定的自定义域名类型,因为 www 子域名不受 GitHub 服务器 IP 地址更改的影响。

自定义子域名

自定义子域名是一种不使用标准 www 变体的子域名类型。自定义子域名主要用于您想要创建网站的两个独立部分时。例如,您可以创建一个名为 blog.example.com 的网站,并独立于 www.example.com 自定义该部分。

为您的 GitHub Pages 网站使用顶层域名

顶层域名是一个不包含子域名的自定义域名,例如 example.com。顶层域名也称为基础域名、裸域名、根顶层域名或区域顶层域名。

顶层域名是通过您的 DNS 提供商使用 AALIASANAME 记录配置的。有关更多信息,请参阅“管理您的 GitHub Pages 网站的自定义域名”。

如果您使用的是顶层域名作为自定义域名,我们建议您也设置一个www子域名。如果您通过 DNS 提供商为每种域名类型配置了正确的记录,GitHub Pages 将自动在域名之间创建重定向。例如,如果您将www.example.com配置为网站的自定义域名,并且您已为顶层域名和www域名设置了 GitHub Pages DNS 记录,那么example.com将重定向到www.example.com。请注意,自动重定向仅适用于www子域名。自动重定向不适用于任何其他子域名,例如blog。有关更多信息,请参阅“管理 GitHub Pages 网站的自定义域名”。

保护 GitHub Pages 网站的自定义域名

如果您的 GitHub Pages 网站已禁用但已设置自定义域名,则存在域名接管的风险。在您的网站被禁用时,将自定义域名配置到您的 DNS 提供商可能会导致其他人托管您子域名上的网站。

验证您的自定义域名可防止其他 GitHub 用户使用您的域名与其存储库。如果您的域名未经验证,并且您的 GitHub Pages 网站已禁用,您应立即更新或删除您与 DNS 提供商的 DNS 记录。有关更多信息,请参阅“验证您的 GitHub Pages 自定义域名”和“管理 GitHub Pages 网站的自定义域名”。

您的网站可能自动被禁用的原因有很多。

  • 如果您从 GitHub Pro 降级到 GitHub Free,您帐户中当前从私有存储库发布的任何 GitHub Pages 网站都将被取消发布。有关更多信息,请参阅“降级您的帐户计划”。
  • 如果您将私有存储库转移到使用 GitHub Free 的个人帐户,该存储库将失去对 GitHub Pages 功能的访问权限,并且当前发布的 GitHub Pages 网站将被取消发布。有关更多信息,请参阅“转移存储库”。

进一步阅读