GitHub Pages 绑定自定义域名指南

本文档记录了将自定义域名(如从西部数码购买的域名)绑定到 GitHub Pages 静态网站的操作步骤。

一、前提条件

  1. 拥有一个已部署成功的 GitHub Pages 仓库(公开仓库)。
  2. 拥有一个已购买的自定义域名,且拥有该域名服务商的 DNS 管理权限。

二、在 GitHub 仓库中配置自定义域名

  1. 进入你的 GitHub 仓库,点击顶部的 Settings(设置)
  2. 在左侧边栏的“Code and automation”分类下,点击 Pages
  3. Custom domain 输入框中,填写你的自定义域名(例如 example.comwww.example.com)。
  4. 点击 Save 保存。
    • 若你的仓库是从分支(branch)发布的,GitHub 会自动在仓库根目录生成一个 CNAME 文件;若使用 GitHub Actions 工作流发布,则需手动在根目录创建 CNAME 文件,内容仅为你的自定义域名。

三、在域名服务商处配置 DNS 解析

登录你的域名服务商(如西部数码)管理后台,找到域名解析/DNS 管理,按以下场景添加记录:

场景 A:绑定根域名(如 example.com)

添加 4 条 A 记录,主机记录(Host/Name)填 @,分别对应 GitHub Pages 的 4 个 IP 地址:

  • 185.199.108.153
  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

场景 B:绑定子域名(如 www.example.com 或 blog.example.com)

添加 1 条 CNAME 记录

  • 主机记录(Host/Name)填子域名前缀(如 wwwblog
  • 记录值(Value/CNAME)填你的 GitHub Pages 默认域名:你的用户名.github.io

注:如果你希望同时支持根域名和 www 域名,且让 www 自动跳转到根域名,只需同时配置上述 A 记录(@)和 CNAME 记录(www),并在 GitHub Pages 的 Custom domain 中填写根域名即可,GitHub 会自动处理跳转。

thum-38031778755054.png

四、开启 HTTPS(SSL 证书)

  1. 在 GitHub 仓库的 Settings -> Pages 页面,等待 DNS 检查通过后。
  2. 勾选 Enforce HTTPS 选项。
  3. GitHub 会自动向 Let's Encrypt 申请并部署免费的 SSL 证书,通常几分钟到几小时生效。

五、注意事项

  • DNS 解析全球生效通常有延迟(几分钟至 48 小时),若刚配置完无法访问,请先耐心等待。
  • 确保自定义域名在全站资源(如 CSS、JS 引用)中使用相对路径或正确绝对路径,避免混合内容(HTTP/HTTPS)报错。
  • 若使用静态站点生成器(如 VuePress、VitePress、Hexo 等),请注意配置正确的 base 路径(尤其是项目站点,非用户名.github.io 仓库)。
0 0

评论区 (2)

发表评论

共有 2 条评论

avatar
笨鸟先飞00728 天前

写得很详细,不过补充一点:如果你用的是国内域名商(比如西部数码),绑定根域名时记得检查是否需要备案,否则A记录配置好了也可能被拦截,建议提前确认一下。

avatar
技术宅阿强1 个月前

作为运维老手,补充一点:建议在DNS配置时先添加A记录或CNAME,等TTL过期后再去GitHub设置Custom domain,避免验证失败。另外,如果用了CDN加速,记得把GitHub Pages的IP加入白名单。