当前位置:首页 > 行业动态 > 正文

如何在GitHub Pages上绑定自定义域名?

在GitHub仓库中创建CNAME文件并填写域名,进入域名服务商后台添加CNAME或A记录解析至GitHub Pages的IP/地址,完成DNS验证后,于仓库Settings启用自定义域名,网站即可通过独立域名访问,需配置HTTPS强化安全。

前置准备

  1. 有效的域名
    需从域名服务商(如阿里云、GoDaddy)处购买并持有管理权限,建议选择主流服务商以保证解析稳定性。

  2. GitHub仓库配置

    • 创建仓库并命名为<用户名>.github.io(个人主页)或任意名称(项目页)
    • 上传网站文件至仓库根目录或docs/文件夹(需在Settings中指定发布源)
    • 启用GitHub Pages功能:进入仓库Settings → Pages → 选择分支和目录 → 保存

绑定域名操作步骤

第一步:添加CNAME文件

  1. 在仓库根目录创建名为CNAME的文本文件(无后缀)填写待绑定的域名(如example.comwww.example.com),每行仅支持一个域名
  2. 提交文件至GitHub仓库

为何需要CNAME文件?
该文件向GitHub声明自定义域名,系统将自动为域名配置SSL证书并处理HTTPS重定向。

第二步:配置DNS解析

根据需求选择以下两种方式之一:

方式A:CNAME记录(推荐)

  • 适用场景:绑定子域名(如www.example.com
  • 操作步骤:
    1. 登录域名控制台,找到DNS解析设置
    2. 添加记录类型为CNAME,主机记录填www,记录值填<用户名>.github.io
    3. TTL建议设为600秒(10分钟)

方式B:A记录(根域名绑定)

  • 适用场景:直接绑定根域名(如example.com
  • 操作步骤:
    1. 添加4条A记录,主机记录为,记录值分别填写GitHub Pages的IP地址:
      199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
    2. 可选步骤:添加CNAME记录将www指向根域名,实现子域名跳转

高级设置与验证

  1. 强制HTTPS
    在GitHub Pages设置中勾选Enforce HTTPS,确保所有请求通过SSL加密传输。

  2. 解析生效检查

    • 使用终端命令dig example.com +nostats +nocomments +nocmd(替换为实际域名)
    • 查看返回结果是否包含GitHub的IP或CNAME记录
  3. 多域名处理
    GitHub仅支持单个CNAME文件,如需绑定多个域名,需通过DNS的URL转发功能实现跳转。


常见问题与解决

  • DNS解析未生效
    检查TTL时间,清除本地DNS缓存(命令:ipconfig /flushdnssudo killall -HUP mDNSResponder)。

  • HTTPS证书错误
    等待GitHub自动签发证书(最长24小时),确认CNAME文件无误且仓库为公开状态。

  • 访问出现404错误
    确保仓库中存在有效的index.html文件,且GitHub Pages已成功构建(可在Actions标签页查看日志)。


维护建议

  1. 定期检查证书状态
    GitHub会自动续期SSL证书,但建议每年确认一次域名解析配置。

  2. 监控访问统计
    通过第三方工具(如Google Analytics)接入流量分析,优化内容策略。

  3. 备份CNAME文件
    在进行仓库结构调整或迁移时,避免误删导致域名解绑。


引用说明
本文操作基于GitHub官方文档及主流DNS服务商技术指南,内容经过多环境实测验证,域名解析参数可能因服务商界面差异略有不同,请以实际控制台选项为准。

0