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

Managing a custom domain for your GitHub Pages site

You can set up or update certain DNS records and your repository settings to point the default domain for your GitHub Pages site to a custom domain.

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

本文内容

People with admin permissions for a repository can configure a custom domain for a GitHub Pages site.

About custom domain configuration

Make sure you add your custom domain to your GitHub Pages site before configuring your custom domain with your DNS provider. Configuring your custom domain with your DNS provider without adding your custom domain to GitHub could result in someone else being able to host a site on one of your subdomains.

The dig command, which can be used to verify correct configuration of DNS records, is not included in Windows. Before you can verify that your DNS records are configured correctly, you must install BIND.

Note: DNS changes can take up to 24 hours to propagate.

Configuring a subdomain

To set up a www or custom subdomain, such as www.example.com or blog.example.com, you must create a CNAME file in your site's repository and configure a CNAME record with your DNS provider.

  1. 在 GitHub 上,导航到站点的仓库。

  2. 在仓库名称下,单击 Settings(设置)

    仓库设置按钮

  3. 在 "Custom domain(自定义域)"下,输入自定义域,然后单击 Save(保存)。 这将创建一个在发布源根目录中添加 CNAME 文件的提交。

    保存自定义域按钮

  4. Navigate to your DNS provider and create a CNAME record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain www.example.com for your user site, create a CNAME record that points www.example.com to <user>.github.io. 有关如何创建正确记录的更多信息,请参阅 DNS 提供程序的文档。 有关站点默认域的更多信息,请参阅“关于 GitHub Pages”。

  5. 打开 Terminal(终端)Terminal(终端)Git Bash

  6. To confirm that your DNS record configured correctly, use the dig command, replacing WWW.EXAMPLE.COM with your subdomain.

    $ dig WWW.EXAMPLE.COM +nostats +nocomments +nocmd
      > ;WWW.EXAMPLE.COM.                     IN      A
      > WWW.EXAMPLE.COM.              3592    IN      CNAME   YOUR-USERNAME.github.io.
      > YOUR-USERNAME.github.io.      43192   IN      CNAME    GITHUB-PAGES-SERVER .
      >  GITHUB-PAGES-SERVER .         22      IN      A       192.0.2.1
  7. 如果您使用静态站点生成器在本地构建站点,并将生成的文件推送到 GitHub,请拉取将CNAME文件添加到本地仓库的提交。 更多信息请参阅“自定义域和 GitHub Pages 故障排除”。

  8. (可选)要为您的站很快咯启用 HTTPS 加密,请选择 Enforce HTTPS(强制使用 HTTPS)。 可能要过 24 小时才能使用此选项。 更多信息请参阅“使用 HTTPS 保护 GitHub Pages 站点”。

    对自定义域名强制使用 HTTPS 选项

Configuring an apex domain

To set up an apex domain, such as example.com, you must configure a CNAME file in your GitHub Pages repository and an ALIAS, ANAME, or A record with your DNS provider.

如果使用 apex 域作为自定义域名,建议还设置一个 www 子域。 如果通过 DNS 提供程序配置每种域类型的正确记录,GitHub Pages 将自动在域之间创建重定向。 例如,如果您配置 www.example.com 作为站点的自定义域,并且为 apex 和 www 域设置了 ALIASCNAME 记录,则 example.com 将重定向到 www.example.com。 更多信息请参阅“管理 GitHub Pages 网站的自定义域”。

  1. 在 GitHub 上,导航到站点的仓库。

  2. 在仓库名称下,单击 Settings(设置)

    仓库设置按钮

  3. 在 "Custom domain(自定义域)"下,输入自定义域,然后单击 Save(保存)。 这将创建一个在发布源根目录中添加 CNAME 文件的提交。

    保存自定义域按钮

  4. Navigate to your DNS provider and create either an ALIAS, ANAME, or A record. 有关如何创建正确记录的更多信息,请参阅 DNS 提供程序的文档。

    • To create an ALIAS or ANAME record, point your apex domain to the default domain for your site. 有关站点默认域的更多信息,请参阅“关于 GitHub Pages”。

    • To create an A record, point your apex domain to the IP addresses for GitHub Pages.

      185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
  5. 打开 Terminal(终端)Terminal(终端)Git Bash

  6. To confirm that your DNS record configured correctly, use the dig command, replacing EXAMPLE.COM with your apex domain. Confirm that the results match the IP addresses for GitHub Pages above.

    $ dig EXAMPLE.COM +noall +answer
    > EXAMPLE.COM     3600    IN A     185.199.108.153
    > EXAMPLE.COM     3600    IN A     185.199.109.153
    > EXAMPLE.COM     3600    IN A     185.199.110.153
    > EXAMPLE.COM     3600    IN A     185.199.111.153
  7. 如果您使用静态站点生成器在本地构建站点,并将生成的文件推送到 GitHub,请拉取将CNAME文件添加到本地仓库的提交。 更多信息请参阅“自定义域和 GitHub Pages 故障排除”。

  8. (可选)要为您的站很快咯启用 HTTPS 加密,请选择 Enforce HTTPS(强制使用 HTTPS)。 可能要过 24 小时才能使用此选项。 更多信息请参阅“使用 HTTPS 保护 GitHub Pages 站点”。

    对自定义域名强制使用 HTTPS 选项

延伸阅读

问问别人

找不到要找的内容?

联系我们