Skip to main content

验证 GitHub Pages 的自定义域

您可以通过验证您的域来提高自定义域的安全性并避免接管攻击。

谁可以使用此功能?

GitHub Pages 适用于具有 GitHub Free 和组织的 GitHub Free 的公共存储库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和专用存储库。 有关详细信息,请参阅 GitHub的计划

关于 GitHub 页面的域验证

为个人帐户验证自定义域时,只能使用归个人帐户所有的仓库将 GitHub Pages 站点发布到已验证的自定义域或该域的直接子域。 同样,当你为组织验证自定义域时,只有该组织拥有的仓库才可用于将 GitHub Pages 站点发布到已验证的自定义域或该域名的直接子域名。

验证您的域名可防止其他 GitHub 用户接管您的自定义域名,并用其发布他们自己的 GitHub Pages 站点。 当您删除仓库、降级计费计划,或发生任何其他导致自定义域名取消关联或禁用 GitHub Pages 的更改时,如果该域名仍配置为用于 GitHub Pages 且尚未经过验证,则可能发生域名接管。

验证域时,验证中还会包含任何直接子域。 例如,如果已验证 github.com 自定义域,docs.github.comsupport.github.com 和任何其他直接子域也将受到保护,以防止被接管。

警告

我们强烈建议勿使用通配符 DNS 记录,例如 *.example.com。 即使验证域,这些记录也会立即面临域接管风险。 例如,如果验证 example.com,这会阻止某人使用 a.example.com,但他们仍可以接管 b.a.example.com(由通配符 DNS 记录所涵盖)。

还可以验证组织 或企业的域,该域在组织 或企业 配置文件 上显示“已验证”徽章, GitHub Enterprise Cloud并允许你使用已验证的域将通知限制为电子邮件地址。 有关详细信息,请参阅 验证或批准您组织的域名验证或批准公司域名

验证已注册的域名

你可能正在验证一个你拥有的域名,而该域名目前正被其他用户或组织使用,以便将其用于你的 GitHub Pages 网站。 在这种情况下,该域名将立即从由其他用户或组织拥有的 GitHub Pages 网站中释放。 如果尝试验证已通过验证的域(已由其他用户或组织验证),则释放过程不会成功。

验证您的网站域名

注意

如果没有看到下面描述的选项,请确保位于“Profile”设置中,而不是仓库设置中****。 域验证发生在配置文件级别。

  1. 在 GitHub 任意页面的右上角,单击你的个人资料照片,然后单击“ Settings”****。

  2. 在边栏的“代码、规划和自动化”部分,单击**页面**。

  3. 在右侧,单击“添加域”。

  4. 在“要添加什么域?”下,输入要验证的域,然后选择“添加域”。 用于为 GitHub Pages 站点添加已验证域的字段的屏幕截图。 字段下方显示了一个绿色的“添加域”按钮。

  5. 按照“添加 DNS TXT 记录”下的说明,使用域托管服务创建 TXT 记录。 用于将 TXT 记录添加到 example.com 的 DNS 配置的 GitHub Pages 说明的屏幕截图。

  6. 等待您的 DNS 配置更改,这可能是立即更改或最多需要 24 小时。 可以通过在命令行上运行 dig 命令来确认对 DNS 配置的更改。 在以下命令中,将 USERNAME 替换为你的用户名,将 example.com 替换为要验证的域。 如果您的 DNS 配置已更新,您应该会在输出中看到新的 TXT 记录。

    dig _github-pages-challenge-USERNAME.example.com +nostats +nocomments +nocmd TXT
    
  7. 确认 DNS 配置已更新后,可以验证域。 如果更改不是立即进行的,并且你已离开上一页,请按照最初的几个步骤返回“页面”设置,在域右侧单击 ,然后单击“继续验证”。

    “Verified domains”设置的屏幕截图。 在右侧的水平烤肉串图标下,“Continue verifying”选项用橙色框出。

  8. 若要验证该域,请单击“验证”。

  9. 若要确保自定义域保持验证状态,请将 TXT 记录保留在域的 DNS 配置中。

验证组织网站的域名

组织所有者可以验证其组织的自定义域。

注意

如果没有看到下面描述的选项,请检查是否位于“Organization”设置中****。 域验证不会在仓库设置中进行。

  1. 在 GitHub 的右上角,单击个人资料图片,然后单击“ Your organizations”****。

  2. 单击以选择一个组织。

  3. 在组织名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  4. 在边栏的“代码、规划和自动化”部分,单击 页面

  5. 在右侧,单击“添加域”。

  6. 在“要添加什么域?”下,输入要验证的域,然后选择“添加域”。 用于为 GitHub Pages 站点添加已验证域的字段的屏幕截图。 字段下方显示了一个绿色的“添加域”按钮。

  7. 按照“添加 DNS TXT 记录”下的说明,使用域托管服务创建 TXT 记录。 用于将 TXT 记录添加到 example.com 的 DNS 配置的 GitHub Pages 说明的屏幕截图。

  8. 等待 DNS 配置更改。 这可能会立即发生或最多需要 24 小时。 可以通过在命令行上运行 dig 命令来确认对 DNS 配置的更改。 在以下命令中,将 ORGANIZATION 替换为组织的名称,将 example.com 替换为要验证的域。 如果您的 DNS 配置已更新,您应该会在输出中看到新的 TXT 记录。

    dig _github-pages-challenge-ORGANIZATION.example.com +nostats +nocomments +nocmd TXT
    
  9. 确认 DNS 配置已更新后,可以验证域。 如果更改不是立即进行的,并且你已离开上一页,请按照最初的几个步骤返回“页面”设置,在域右侧单击 ,然后单击“继续验证”。

    “Verified domains”设置的屏幕截图。 在右侧的水平烤肉串图标下,“Continue verifying”选项用橙色框出。

  10. 若要验证该域,请单击“验证”。

  11. 若要确保自定义域保持验证状态,请将 TXT 记录保留在域的 DNS 配置中。