Skip to content

GitHub Pages 绑定自定义域名及 HTTPS 配置

虽然 GitHub 免费提供了 username.github.io 的二级域名,但为了彰显个性或建立专业品牌,绝大多数博主和项目都会选择绑定一个独立的自定义域名。本文将手把手教你如何为 GitHub Pages 配置自定义域名,并自动开启 HTTPS 安全加密。

一、 准备工作

在开始之前,你需要:

  1. 已经成功部署并可以通过 github.io 访问的 GitHub Pages 站点。
  2. 拥有一个自定义域名。你可以在各大域名注册商(如 Cloudflare, GoDaddy, 阿里云, 腾讯云等)购买。

二、 配置 DNS 解析

将域名绑定到 GitHub 的第一步,是告诉互联网你的域名该指向哪里。登录你的域名提供商(或 DNS 服务商,如 Cloudflare)的控制台。

情况 A:绑定子域名(例如 blog.yourdomain.com

这是最推荐的做法,灵活性最高。

  1. 添加一条 CNAME 记录。
  2. 主机记录(Name)填写你想要的子域,比如 blog
  3. 记录值(Target/Value)填写你的 GitHub Pages 地址:username.github.io

情况 B:绑定根域名(例如 yourdomain.com

也就是不带 www 的顶级域名。

  1. 添加 A 记录,将其指向 GitHub 的负载均衡 IP 地址。 根据 GitHub 官方文档,需添加以下四个 IP:
    • 185.199.108.153
    • 185.199.109.153
    • 185.199.110.153
    • 185.199.111.153
  2. 为了兼容性,建议额外添加一条 CNAME 记录,将 www 指向 username.github.io

三、 在 GitHub 仓库中绑定域名

DNS 解析配置完成后,需要让 GitHub 知道你打算使用这个域名。

  1. 进入你的 GitHub 仓库,点击 Settings
  2. 在左侧菜单找到 Pages
  3. 滚动到 Custom domain 区域。
  4. 在输入框中填入你刚才配置的域名(如 blog.yourdomain.com),点击 Save
  5. GitHub 会自动在你的仓库根目录下生成一个名为 CNAME 的文件,里面只包含你的域名。(注意:如果你使用本地构建并推送,请确保本地也有这个文件,否则下次推送时会导致域名解绑)。

四、 开启强制 HTTPS

在 Custom domain 设置框的下方,有一个 Enforce HTTPS 选项。 当你的 DNS 记录生效后,GitHub 会自动向 Let's Encrypt 申请一份免费的 SSL 证书。

  • 证书申请可能需要 15 分钟到 24 小时不等。
  • 状态变为 "Certificate is issued" 后,勾选 Enforce HTTPS。从此,所有访问都会被安全加密。

五、 域名绑定故障排查链路

如果在绑定过程中域名无法访问,请按照以下逻辑进行排查:

1. 软件/配置问题

  • CNAME 文件丢失:如果你使用 Hexo/Vuepress 部署,每次部署可能会覆盖仓库。确保你的源码目录里包含 CNAME 文件,随静态文件一起打包上传。
  • 拼写错误:检查仓库设置中填写的域名是否与你在 DNS 控制台设置的完全一致。

2. 账号与平台问题

  • DNS 尚未生效:全球 DNS 传播需要时间。你可以通过终端运行 ping yourdomain.comnslookup yourdomain.com 来检查解析的 IP 是否已经是 GitHub 的地址。

3. 网络环境与代理问题

当你觉得 DNS 已经生效,但网页依然打不开时,可能不是配置错误,而是你的本地网络环境存在问题。

网络环境基础排查清单

  • 确认已清除浏览器缓存和 Cookie
  • 确认代理客户端(如 Clash/v2rayN)已正常启动并接管系统流量
  • 确认当前节点并非处于故障或高延迟状态
  • 尝试切换全局路由模式或更新本地分流规则
  • 若为 PC 端,检查系统时间是否准确自动同步

完成上述基础排查后,再进行本教程针对性的深度检查。

由于 GitHub Pages 的 IP 经常因为滥用等原因在国内遭到干扰,有时会出现某个时段部分地区无法访问的情况。此外,本地运营商的 DNS 劫持也可能导致你的域名被解析到错误的 IP。

4. 节点质量对连通性的影响

在排查网站上线后的连通性时,开发者需要一个纯净的网络环境。

  • 路由黑洞:部分低质量的 VPN推荐 工具可能会错误地拦截对你自定义域名的访问,或者由于其海外 DNS 解析异常,导致你无法验证 HTTPS 证书是否正确下发。
  • 多区域测试:为了确认你的博客对全球用户可达,你需要能够切换不同国家的 IP 进行测试。

仍然存在网络连接问题?

如果账号、设备、浏览器、客户端和DNS均已排查,但仍出现连接超时、长连接中断、视频缓冲或出口IP频繁变化,可以继续查看对应场景的线路选择指南。

网络工具建议: 为了高效排查域名解析及网站部署问题,选择一个高质量的 稳定机场 极具价值。在众多的 机场推荐 中,拥有丰富落地节点且支持纯净 DNS 优化的 翻墙机场,能帮你绕开本地网络运营商的干扰,第一时间查看到网站部署的真实效果。良好的网络设施能大幅缩减你在“配置没问题,为什么打不开”这个问题上的内耗时间。

六、 总结

为 GitHub Pages 绑定自定义域名不仅能提升个人品牌形象,有了 GitHub 自动维护的 HTTPS 证书,还能保障站点的安全与可信。仔细配置 DNS 记录并注意保护 CNAME 文件,配合稳定的开发者网络环境,你就能轻松维护一个专业的独立站点。

独立第三方教程与评测平台,与文中品牌不存在官方隶属关系。