GitHub学习教程 | GitHub Pages自定义域名配置指南:从购买到HTTPS启用

科技   2024-11-08 17:35   湖北  

系列文章 — GitHub学习教程(五):个人网站使用自定义域名

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


1. 前提条件


  • 一个已部署的 GitHub Pages 网站(详情可点击文末“阅读原文”,参照前文GitHub学习教程(四):GitHub Pages 创建个人静态网站)


  • 一个您拥有的自定义域名(例如 example.com 


  • 对域名提供商的 DNS 管理面板有访问权限


2. 步骤概览


  1. 购买并注册自定义域名


  2. 在域名提供商的 DNS 管理面板中配置 DNS 记录,将域名指向 GitHub Pages


  3. 在 GitHub 仓库中添加一个 CNAME 文件,包含自定义域名


  4. 在 GitHub 仓库的设置中配置自定义域名


  5. 验证域名所有权(如有必要)


  6. 启用 HTTPS,确保网站安全访问


3. 详细步骤


步骤 1:购买和注册域名


可以在以下域名注册商购买:


  • 国内阿里云、腾讯云、百度云

  • 国际:GoDaddy、Namecheap、Google Domains、Bluehost


购买域名的流程通常包括选择域名、支付费用、注册和登录管理面板。


步骤 2:配置域名的 DNS 记录

为了将您的域名指向 GitHub Pages,您需要在域名注册商的 DNS 管理面板中添加 A 记录(适用于顶级域名)或 CNAME 记录(适用于子域名)。


2.1 登录域名注册商的 DNS 管理面板


  • 登录您的域名注册商账户。

  • 进入 DNS 管理(可能被称为“DNS 设置”、“DNS 管理器”或“域名解析”等)。


2.2 添加 A 记录


当使用顶级域名(如 example.com )时,需要添加 A 记录。


什么是 A 记录?

A 记录(Address Record)将域名直接映射到 IPv4 地址。在这里,我们将顶级域名指向 GitHub Pages 的 IP 地址。


🔺 添加新的 A 记录


    ▪  在 DNS 设置页面,找到 “添加记录” 或 “新增记录” 的按钮,点击它。


🔺 填写 A 记录信息


    ▪  主机记录(或名称): 输入 

         ▫   @ 表示顶级域名(即 example.com ),不需要添加子域名部分。


    ▪  记录类型: 选择 A

         ▫  从下拉菜单中选择 A 记录类型。


    ▪  记录值(或 IP 地址): 输入 GitHub Pages 的 IP 地址

         ▫  您需要添加以下四个 IP 地址,分别创建四条 A 记录:



说明:


  • 添加多个 A 记录指向不同的 IP 地址,可以提高网站的可靠性和可用性。


  • GitHub Pages 使用了全球分布式的服务器,这些 IP 地址对应不同的服务器。



2.3 添加 CNAME 记录


当使用子域名(如 www.example.com  )时,需要添加 CNAME 记录。


什么是 CNAME 记录?

CNAME 记录(Canonical Name Record)将一个域名别名指向另一个域名。在这里,我们将子域名指向 GitHub 提供的用户名域名(如 username.github.io )。



说明:

  •  username 替换为您的 GitHub 用户名。

  •  www 表示子域名部分。

  • 如果您想将其他子域名(如 blog.example.com )指向 GitHub Pages,同样可以添加对应的 CNAME 记录。

  • 确保主机记录只包含子域名部分,不包含整个域名。


2.4 保存 DNS 记录


  • 确保所有记录已正确添加

    • 检查您添加的 A 记录和 CNAME 记录,确保主机记录、记录类型和记录值无误

  • 保存 DNS 设置

    • 有些域名注册商可能需要您点击 “保存所有更改” 或 “应用更改”,请确保完成此操作


注意:DNS 记录的更新可能需要一定时间(通常为几分钟到 48 小时)才能在全球范围内生效。


2.5 常见问题


1. 顶级域名和子域名的组合使用


  • 如果希望同时使用顶级域名( example.com )和子域名( www.example.com  )指向的 GitHub Pages 网站,需要同时添加 A 记录和 CNAME 记录。

  • 注意: 顶级域名不能有 CNAME 记录,因此需要使用 A 记录指向 IP 地址。


2. 旧的 DNS 记录可能导致冲突


  • 在添加新的 DNS 记录之前,检查是否存在旧的 A 记录或 CNAME 记录,这些记录可能与新的记录冲突,导致域名解析错误。

  • 删除或更新旧的 DNS 记录,以确保新的配置生效。


3. DNS 解析生效时间


  • DNS 记录的生效时间取决于域名注册商和 ISP,通常为几分钟到 48 小时。


4. 配置根域名的特殊情况


  • 如果域名注册商不支持为根域名添加 A 记录,可以考虑使用 ALIAS 或 ANAME 记录,这些记录允许您将根域名指向另一个域名。

  • 注意: 并非所有域名注册商都支持 ALIAS 或 ANAME 记录。


步骤 3:在 GitHub 仓库中添加 CNAME 文件

在 GitHub Pages 仓库的根目录下创建一个名为 CNAME 的文件(无扩展名),文件内容为自定义域名。


示例:

  • 如果的自定义域名是 www.example.com  ,则 CNAME 文件内容为:

www.example.com
  • 如果使用的是顶级域名 example.com ,则内容为:

example.com


步骤 4:在 GitHub 上配置自定义域名


4.1 进入仓库设置

  • 在 GitHub 上,进入您的仓库,点击页面顶部的 “Settings”(设置)。


4.2 配置 GitHub Pages

  • 在左侧菜单中,找到 “Pages”,点击进入。


4.3 设置自定义域名

  • 在 “Custom domain” 部分,输入您的自定义域名,例如:

www.example.com
  • 点击 “Save” 按钮。


4.4 验证域名状态


保存后,GitHub 会自动检查您的 DNS 设置。


如果配置正确,您会看到一条绿色的提示,表示您的自定义域名已成功配置。


注意: 如果 GitHub 提示您的域名配置有问题,请检查 DNS 记录是否正确,以及是否已生效。


步骤 5:验证域名所有权(如有必要)

在某些情况下,GitHub 可能要求验证域名的所有权:需要在 DNS 设置中添加一条 TXT 记录。


5.1 获取验证记录

  • 在 GitHub Pages 设置页面,如果需要验证域名所有权,GitHub 会提供一条 TXT 记录的值。


5.2 添加 TXT 记录

  • 回到域名注册商的 DNS 管理面板。

  • 添加以下 TXT 记录:

  • 保存设置,等待生效。


步骤 6:启用 HTTPS

为了确保您的网站安全,建议启用 HTTPS。


6.1 启用 HTTPS

  • 在 GitHub Pages 设置页面,找到 “Enforce HTTPS” 选项。

  • 勾选 “Enforce HTTPS”,强制使用 HTTPS 访问您的网站。


6.2 等待证书颁发

  • GitHub 会自动为您的自定义域名颁发 SSL 证书。

  • 可能需要几分钟到几个小时。

  • 可以刷新页面查看 HTTPS 状态。



4. 常见问题和注意事项


问题 1:DNS 解析未生效


  • 确保已正确添加了所有必要的 DNS 记录。

  • 检查是否有旧的或冲突的 DNS 记录(如旧的 A 记录或 CNAME 记录)。

  • 使用 DNS 查询工具(如 dig 或在线工具)检查 DNS 解析情况。

  • 等待足够的时间(可能需要 24-48 小时)让 DNS 记录完全生效。


问题 2:GitHub Pages 提示域名配置错误


  • 确保 CNAME 文件内容与您在 GitHub 设置中输入的自定义域名一致。

  • 检查 DNS 记录是否正确,特别是主机记录和记录类型。

  • 如果使用子域名,请确保没有 A 记录冲突。


问题 3:HTTPS 无法启用


  • 确保 DNS 记录已正确配置并完全生效。

  • 检查 GitHub Pages 设置页面,看看是否有关于证书颁发的错误信息。

  • 等待一段时间,证书颁发可能需要一些时间。


问题 4:网站无法访问或显示错误页面


  • 确保仓库已成功构建并部署了 GitHub Pages。

  • 检查您的 index.html 或其他主页文件是否存在并正确命名。

  • 查看 GitHub Pages 构建日志(在仓库的 Actions 选项卡)以查找可能的错误。


5 结果示例



参考资料:GitHub Pages 官方文档 - 使用自定义域名

https://docs.github.com/zh/pages/configuring-a-custom-domain-for-your-github-pages-site



讲师招募


招募要求

完成符合要求的机器人相关视频制作

总时长需达到 3小时以上

视频内容需为精品课程,确保高质量和专业性


讲师奖励

享受课程收入分成

赠送 2门 古月学院在售精品课程(训练营除外)


联系我们

添加工作人员微信:GYH-xiaogu





古月居
专业的ROS机器人知识社区和产业服务平台
 最新文章