关于自定义域名和 GitHub 页面

文章正文
发布时间:2024-10-27 06:01

提示:**** 建议在将自定义域添加到存储库之前先对其进行验证,以提高安全性并避免接管攻击。 有关详细信息,请参阅“验证 GitHub Pages 的自定义域”。

GitHub Pages 可使用两种类型的域名:子域名和 apex 域名。 有关不支持的自定义域的列表,请参阅“”。

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

可以为站点设置顶点和/或 www 子域配置。 有关 apex 域的详细信息,请参阅“”。

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

如果不为用户或组织网站设置自定义域,则默认情况下,同一自定义域将用于同一帐户所拥有的所有项目网站。 有关网站类型的详细信息,请参阅“”。

例如,如果你的用户站点的自定义域为 ,并且你拥有一个未配置自定义域且从名为 octo-project 的存储库发布的项目站点,则该存储库的 GitHub Pages 站点将在 上提供。

你可以通过将自定义域添加到单个仓库来替代默认的自定义域。

注意:以私密方式发布的项目站点的 URL 不受用户或组织站点的自定义域的影响。 有关以私密方式发布站点的详细信息,请参阅 GitHub Enterprise Cloud 文档中的“更改 GitHub Pages 站点的可见性”。

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

子域名是根域前 URL 的一部分。 你可以将子域配置为 www 或站点的独特部分,如 blog.example.com。

DNS 提供商为子域配置 CNAME 记录。 有关详细信息,请参阅“”。

www 子域是最常用的子域类型。 例如, 包括 www 子域。

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

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

顶点域是不包含子域的自定义域,如 example.com。 Apex 域也称为基础域、裸域、根 apex 域或区域 apex 域。

DNS 提供商为顶点域配置 A、ALIAS 或 ANAME 记录。 有关详细信息,请参阅“”。

如果使用 apex 域作为自定义域名,建议还设置一个 www 子域。 如果通过 DNS 提供程序配置每种域类型的正确记录,GitHub Pages 将自动在域之间创建重定向。 例如,如果将 配置为站点的自定义域,并且为顶点和 www 域设置了 GitHub Pages DNS 记录,则 example.com 将重定向到 。 请注意,自动重定向仅适用于 www 子域。 自动重定向不适用于任何其他子域,如 blog。有关详细信息,请参阅“”。

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

验证自定义域可防止其他 GitHub 用户将你的域用于他们的存储库。 如果你的域未经过验证,并且 GitHub Pages 站点已禁用,则应立即通过 DNS 提供商更新或删除 DNS 记录。有关详细信息,请参阅“验证 GitHub Pages 的自定义域”和“管理 GitHub Pages 站点的自定义域”。

有许多原因会导致您的网站被自动禁用。