域名与DNS解析选择
决定把Hexo博客绑到个性化域名,本质上是告诉浏览器“你输入的域名,要去GitHub Pages找我的博客”,业内专家指出,只要走完三个步骤域名解析、CNAME文件写入、强制HTTPS开关整个过程不会超过20分钟,不少朋友卡在“hexo博客域名解析 常见问题”上,多数是没搞懂A记录和CNAME的区别,或者忽略了域名服务商的解析生效时间。
域名购买渠道与费用对比
市面主流域名注册商的价格差异不小,选哪家主要看你的预算和备案需求,如果你建站用的是GitHub Pages海外托管,域名和服务器都在境外,就不需要走ICP备案流程,这是最快的方案。
| 注册商 | 首年价格参考 | 续费价格参考 | 适合场景 |
|---|---|---|---|
| 简米云 | 较低(新用户优惠大) | 偏高,约百元级 | 已有国内服务器,未来可能备案 |
| Namesilo | 中等 | 稳定,无套路 | 纯海外部署,不想折腾备案 |
| Cloudflare | 成本价 | 成本价 | 顺带使用CDN与免费HTTPS |
需要注意的是,国内头部云厂商的域名与服务器绑定规则,对未备案域名有严格拦截,你的博客如果托管在GitHub Pages上,建议优先选择海外注册商或者不校验备案的渠道。
核心步骤:绑定域名的完整操作路径
整个绑定流程分为三条线:域名服务商后台(DNS解析)、GitHub仓库设置(CNAME文件)、Hexo配置文件(防止覆盖),你得保证三条线都在同一条轨道上。
在域名服务商后台配置DNS解析
第一步永远是去解析你的域名,具体操作位置在控制台的“域名管理-解析设置”里。
- 主域名(bare domain):建议添加一条
A记录,主机记录填,记录值填GitHub Pages的服务器IP,行业共识是使用这四个IP:199.108.153,199.109.153,199.110.153,199.111.153,都加上是为了负载均衡,避免单一IP故障导致打不开。 - www子域名:添加一条
CNAME记录,主机记录填www,记录值填你的用户名.github.io。 - 其他国家与地区线路:默认线路即可,不用细分,除非你有针对性的CDN加速需求。
这里容易踩坑的是“赫赫有名的解析生效时间”,大多数域名商号称“10分钟生效”,但考虑到DNS缓存的更新机制,全链路生效可能需要5小时到24小时,你可以用命令行工具ping yourdomain.com检查是否已经解析到GitHub的IP。
在GitHub仓库中创建CNAME文件
DNS解析只负责“把请求送对门”,CNAME文件负责告诉GitHub Pages“这个门牌号我可以认领”。
操作流程如下:
- 进入你的博客仓库
你的用户名.github.io。 - 点击
Add file,选择Create new file,文件命名为CNAME(注意没有后缀名),里,填入你想要的博客访问地址,比如www.yourdomain.com。推荐使用www开头的地址,因为很多域名服务商的CDN和邮件解析对裸域支持不够友好。 - 保存提交到主分支。
如果你只使用裸域名(不带www),那么CNAME文件里直接写yourdomain.com即可,但如果DNS那边同时解析了www和@,GitHub Pages会智能回源,最终都会跳转到你指定的那个域名上。
防止Hexo部署覆盖你的自定义域名
这个坑几乎每个新手都会遇到,也是百度上“hexo布置自己的博客 域名绑定失败怎么办”的热门检索场景,你明明写好了CNAME文件,但每次执行`hexo d`(部署命令)之后,GitHub仓库里的CNAME文件就会消失,原因是Hexo在部署时,默认会清空仓库的旧文件,然后重新上传`public`目录下的内容,而CNAME文件正好在`source`目录里被忽略了。
两条保险方案:插件与目录放置
最省心的方法是安装一个插件,让Hexo每次部署前自动生成CNAME文件,在博客根目录执行:
npm install hexo-generator-cname --save
然后在_config.yml文件里加一行配置:
url: https://www.yourdomain.com
插件会在每次生成静态文件时,自动在public目录下写入CNAME文件,部署后就乖乖待在仓库里了。
另一条路是手动把CNAME文件复制到source目录中,Hexo生成页面时,source文件夹里的所有内容都会原样拷贝到public目录,所以CNAME文件只要放在source根目录下,就能保证每次部署都不丢,这种方式更直观,适合不想多装插件的朋友。
强制HTTPS与CDN加速的进阶配置
绑定域名成功后,你的博客其实还处于“半裸奔”状态,因为GitHub Pages默认支持HTTPS,但偶尔会因为证书签发滞后而回退到HTTP,你需要手动开启强制HTTPS。
DNS解析与Cloudflare的冲突处理
在GitHub仓库的`Settings-Pages`页面中,勾选`Enforce HTTPS`选项,看到绿色锁头就说明证书生效了,这个过程通常在几分钟内完成。
如果你使用了Cloudflare代理(橙色云朵开启状态),要注意GitHub无法直接识别来源于Cloudflare的请求,可能导致证书签发卡住,业内建议是:先用DNS Only模式(灰色云朵)让GitHub签完证书,再开启代理。
顺带说一句,Cloudflare回源模式配置不复杂,但免费版对于国内访问速度的改善比较有限,如果你的访客主要在国内,考虑酷番云或简米云的海外CDN节点,或者干脆放弃CDN,直连GitHub的IP。
排查指南:绑定不生效的典型原因
如果你按照上述步骤走完,依然打不开,那就对照下面几个高频故障点来体检。
- DNS解析记录冲突:同时存在两条互相矛盾的解析记录会导致随机抽风,尤其是云解析服务商自动加了一些“网页防篡改”或“隐性URL转发”记录,必须全部删干净。
- CNAME文件里的域名拼写错误:例如多了一个斜杠,或者写成了
https://前缀,CNAME内容只需要纯域名。 - GitHub Pages的Custom domain字段:在仓库的
Settings-Pages里,需要手动填写你的域名并点击Save,如果不填,GitHub会一直以为你要用用户名.github.io访问。 - 域名备案拦截:如果你的域名注册商和服务器都在国内,而DNS解析中设置的记录含大陆节点IP,那么未备案域名会被强制拦截,解决方案:将解析线路全部切换为“境外”,或者将DNS服务器托管到Cloudflare。
“hexo博客绑定个性化域名 详细步骤”的最终验证
在浏览器地址栏输入你的自定义域名,如果能看到博客首页,并且地址栏左侧出现锁头图标,说明部署圆满成功,检查一下导航栏的链接是否都变成了新域名有时候主题配置文件里的`url`还写的是`github.io`地址,导致点开文章后地址栏又跳回去了。
- 全局搜索`_config.yml`中的`url`字段,确保是全新的域名。
- 主题配置文件(比如NexT的`_config.next.yml`)里,如果要填站点地址,同样改过来。
- 重新执行`hexo clean && hexo g && hexo d`,让所有静态页面的Meta标签和内部链接全部刷新。
绑定域名的长期运维与成本控制
绑定完成不是终点,而是博客日常运营的起点,域名的续费提醒要设在到期前一个月,且域名服务商的账号信息、隐私保护等设置需要隔一段时间检查一次,如果你用的是超低价域名(比如六块钱一年那种),续费价格可能飙升至百元以上,建议提前了解续费规则。
关于使用体验,有一个比较实用的场景:在微信聊天中分享博客链接,用自定义域名比github.io显得更专业,而且不会被部分平台的外链拦截策略误杀,在百度站长平台提交站点时,自定义域名也能更准确地统计到站记录,有助于搜索收录,这也是多数博主折腾绑定的核心动机。
总的来看,把Hexo博客绑定个性化域名,本质上是把“租来的房子”挂上自己的招牌,只要记住DNS解析、CNAME文件、强制HTTPS这三个关键词,遇到问题逐一比对,就能稳稳拿下。
Q&A:hexo博客绑定个性化域名的常见疑问
问:Hexo博客用A记录还是CNAME记录更好?
A记录(指向IP地址)和CNAME记录(指向另一个域名)在GitHub Pages绑定场景中,效果基本相同,但CNAME记录的维护成本更低,因为GitHub如果更换服务器IP,你无需修改DNS设置,建议裸域名用A记录,www子域名用CNAME记录,两者结合最稳妥。
问:先把博客部署到GitHub Pages还是先买域名?
两者没有时序上的强依赖关系,但建议先部署好GitHub Pages,确保默认域名能正常访问,再买域名进行解析,这样一旦绑定失败,你能快速定位是域名服务商的问题还是GitHub仓库的问题,实际操作中,等待DNS传播的时间里,你还可以同时完成CNAME文件的写入。
问:绑定域名后,原来的github.io地址还能用吗?
可以用,GitHub Pages的默认域名会依然生效,但如果你在CNAME文件里指定了自定义域名,访问`用户名.github.io`时会自动跳转到新域名,如果你希望旧地址彻底失效,只能在仓库的`Settings-Pages`里删除自定义域名的绑定,不过此时新域名就完全失效了,所以大多数用户会保留双通道访问。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/928897.html


评论列表(5条)
读了这篇文章,我深有感触。作者对记录的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
@sunny184:这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是记录部分,给了我很多新的思路。感谢分享这么好的内容!
读了这篇文章,我深有感触。作者对记录的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是记录部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于记录的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!