问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

GitHub Pages 添加自定义域名教程

创作时间:
作者:
@小白创作中心

GitHub Pages 添加自定义域名教程

引用
CSDN
1.
https://blog.csdn.net/qq_34902437/article/details/140298754

GitHub Pages 是 GitHub 提供的一个可以从 GitHub 仓库上托管静态网站的功能服务。默认情况下,当你建立一个仓库后,会自动生成一个可供浏览的静态网站,例如 https://<username>.github.io/<repository>/。然而,很多时候我们希望能够使用自己的域名来替代默认的域名,以体现出自身网站的风格。本文将详细介绍如何在 GitHub Pages 上添加自定义域名。

购买域名

购买域名一般分为两种情况:一种是希望国内能够访问的,一种是国外能够访问的。国内的域名购买和使用比较麻烦,因为需要进行备案等认证操作,通常需要好几天的时间,而国外的主流域名服务提供商不需要备案,购买和部署流程只需要几个小时即可完成。

同时,由于 GitHub Pages 是托管在国外的服务器上,因此即使使用国内购买的域名也无法完成映射。在本例中,选择从 GoDaddy 上购买域名,你也可以选择各种主流的域名服务提供商进行购买,这里贴一些可提供支付宝支付的平台,如 GoDaddy、Dynadot、Porkbun、NameSilo 等。购买的时候也有注意事项,就是选择主流大平台进行购买。

验证自定义域名

GitHub 提供了验证自定义域名的功能,该功能可以防止恶意对手发起域名劫持一类的攻击。所以首先需要完成对域名的验证。

  1. 在任意 GitHub 页面点击右上角头像
  2. 在弹出的下拉框中,点击 Settings
  3. 在左侧栏找到 Code, planning, and automation,并点击其中的 Pages 选项
  4. 在右侧输入要验证的域名(如 aiproducthome.top),并点击 Add domain 按钮

然后你会获得如下的记录,并继续按照该记录所示的步骤进行验证

接记录所需验证步骤:

  1. 进入你购买域名网站,并进入你的域名的管理界面,虽然不同的域名服务提供商相关的界面不同,但大体它们的组成是相同。这里以 GoDaddy 为例,进入到我的域名的 DNS 管理界面,并选择添加新的 DNS 记录(DNS records)。

在记录中,Type 选择为 TXT 类型(更多类型,参考“记录类型”小节),Name 为第四步中的 hostname,即 _github-pages 开头的内容,Value 是第四步中的 code,它是一串数字和英文组成的字符串。而 TTL 值选择默认即可。

最后点击 Save 按钮。

当上述内容配置好后,返回第四步的验证页面,点击 Verify 按钮。虽然理论上说的是需要 24 小时才可能验证成功,实际上不出意外,进需要几分钟即可完成验证。

映射自定义域名

  1. 还是在你的域名服务提供商的管理网页中,配置 A 记录类型,该类型用于将域名(例如,aiproducthome.top)指向 IP 地址。

还是点击 Add New Record。然后在弹出的配置框中进行配置,其中 Type 选择 A,Name 填写 @,Value 填写四个由 GitHub 提供的 IP 地址(这四个 IP 地址大家都一样,具体见GitHub 官方文档),如下所示。TTL 默认,最后点击 Save 按钮。

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

  1. 将子域名指向 IP 地址。

这里简单介绍一下 apex 域名和子域名,例如 aiproducthome.top 是 apex 域名,apex 就是顶级的意思,也就是顶级域名。而 www.aiproducthome.top 或 blog.aiproducthome.top 都被成为子域名,它们都属于 aiproducthome.top 域下的。

在第一步中我们其实配置的就是 apex 域名,而下面我们可以配置一些子域名,例如常见的 www 域名。

方法类似,同样是点击 Add New Record,然后 Type 选择 CNAME(含义见记录类型小节),Name 填写 www,Value 填写 <username>.github.io,TTL 默认即可。最后 Save 按钮。

到此,在域名服务商部分需要进行的 DNS 配置就完成了,上述内容需要花费一点时间在网络的各个 DNS 服务器上进行传播,接着我们回到 GitHub 进行相应的配置。

  1. 进入你的仓库界面,并点击上方的 Settings 按钮。在左侧栏的 Code and automation 部分,点击 Pages 选项,在右侧的栏目中,将你的顶级域名(例如 aiproducthome.top)填写进去并点击 Save 按钮。

GitHub Pages 将花费一点时间完成对 DNS 配置的检查。

回到同一页面的最上方,你会发现 Your site is live at 后面的部分变成了你的自定义域名。

至此,所有的任务就完成了,你可以通过顶级域名,子域名(www)或者之前的 github.io 的域名来访问,所有的内容都会跳转到自定义域名上。

记录类型

在前述的步骤中,我们在对域名的 DNS 配置中使用到了多种记录类型,这里简单阐述一下不同记录类型的作用。

类型
作用
A(Address Record)
将域名映射到 IPv4 地址,例如,将 www.example.com 映射到 192.168.1.1
AAAA(IPv6 Address Record)
将域名映射到 IPv6 地址
CNAME(Canonical Name Record)
域名别名映射到域名,例如,将 eternaldeath.github.io 映射到 aiproducthome.top

注意点

特别注意的是,由于你配置了新的域名,那么部分静态网站可能在加载资源的时候会找不到资源。例如,如果你使用 hexo 部署了静态网站,在 _config.yml 中配置的是默认的域名(即 github.io),因此为了重新加载资源,你需要配置成你现在的域名。具体可以借鉴相关教程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号