如何在GitHub Pages上绑定自定义域名?
- 行业动态
- 2025-04-24
- 1
在GitHub仓库中创建CNAME文件并填写域名,进入域名服务商后台添加CNAME或A记录解析至GitHub Pages的IP/地址,完成DNS验证后,于仓库Settings启用自定义域名,网站即可通过独立域名访问,需配置HTTPS强化安全。
前置准备
有效的域名
需从域名服务商(如阿里云、GoDaddy)处购买并持有管理权限,建议选择主流服务商以保证解析稳定性。GitHub仓库配置
- 创建仓库并命名为
<用户名>.github.io
(个人主页)或任意名称(项目页) - 上传网站文件至仓库根目录或
docs/
文件夹(需在Settings中指定发布源) - 启用GitHub Pages功能:进入仓库Settings → Pages → 选择分支和目录 → 保存
- 创建仓库并命名为
绑定域名操作步骤
第一步:添加CNAME文件
- 在仓库根目录创建名为
CNAME
的文本文件(无后缀)填写待绑定的域名(如example.com
或www.example.com
),每行仅支持一个域名 - 提交文件至GitHub仓库
为何需要CNAME文件?
该文件向GitHub声明自定义域名,系统将自动为域名配置SSL证书并处理HTTPS重定向。
第二步:配置DNS解析
根据需求选择以下两种方式之一:
方式A:CNAME记录(推荐)
- 适用场景:绑定子域名(如
www.example.com
) - 操作步骤:
- 登录域名控制台,找到DNS解析设置
- 添加记录类型为
CNAME
,主机记录填www
,记录值填<用户名>.github.io
- TTL建议设为600秒(10分钟)
方式B:A记录(根域名绑定)
- 适用场景:直接绑定根域名(如
example.com
) - 操作步骤:
- 添加4条A记录,主机记录为,记录值分别填写GitHub Pages的IP地址:
199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
- 可选步骤:添加CNAME记录将
www
指向根域名,实现子域名跳转
- 添加4条A记录,主机记录为,记录值分别填写GitHub Pages的IP地址:
高级设置与验证
强制HTTPS
在GitHub Pages设置中勾选Enforce HTTPS
,确保所有请求通过SSL加密传输。解析生效检查
- 使用终端命令
dig example.com +nostats +nocomments +nocmd
(替换为实际域名) - 查看返回结果是否包含GitHub的IP或CNAME记录
- 使用终端命令
多域名处理
GitHub仅支持单个CNAME文件,如需绑定多个域名,需通过DNS的URL转发功能实现跳转。
常见问题与解决
DNS解析未生效
检查TTL时间,清除本地DNS缓存(命令:ipconfig /flushdns
或sudo killall -HUP mDNSResponder
)。HTTPS证书错误
等待GitHub自动签发证书(最长24小时),确认CNAME文件无误且仓库为公开状态。访问出现404错误
确保仓库中存在有效的index.html
文件,且GitHub Pages已成功构建(可在Actions标签页查看日志)。
维护建议
定期检查证书状态
GitHub会自动续期SSL证书,但建议每年确认一次域名解析配置。监控访问统计
通过第三方工具(如Google Analytics)接入流量分析,优化内容策略。备份CNAME文件
在进行仓库结构调整或迁移时,避免误删导致域名解绑。
引用说明
本文操作基于GitHub官方文档及主流DNS服务商技术指南,内容经过多环境实测验证,域名解析参数可能因服务商界面差异略有不同,请以实际控制台选项为准。