社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

古月居 • 5 月前 • 113 次点击  

系列文章 — 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





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/175771
 
113 次点击