【202509新版】Hexo + GitHub Pages 免费部署个人博客|保姆级教程 第三部
小编在前几篇文章中分享了自己建立个人Python网站的经验,很多小伙伴后台反馈打不开 https://dafei-python.github.io/
太正常了😂,在国内很多地区和运营商对GitHub Pages的访问会限制的。如果想获得一个稳定访问的个人网站,有没有什么办法嘞?使用Cloudflare代理!并且免费!
简介
Cloudflare:可以为你的个人网站提供网络安全、内容分发网络(CDN)、域名解析(DNS)等服务。
说人话就是Cloudflare会提前将你的博客内容缓存至Cloudflare全球节点,用户可从就近节点获取资源,降低延迟,加速访问。还额外提供保护真实IP,防ddos攻击、黑客攻击和垃圾邮件,提供免费Https SSL证书等服务。关键还免费!
前提:
-
拥有一个域名(比如腾讯云的域名:dafeipython.asia)
-
部署好GitHub上的Hexo博客(https://dafei-python.github.io/)
步骤:
1、将域名托管至 Cloudflare
1.1、访问 Cloudflare官网:https://dash.cloudflare.com/sign-up,注册并登录
1.2、在Dashboard点击“添加站点”,输入主域名 dafeipython.asia
,选择免费计划(Free plan)
1.3、更改名称服务器:这是关键一步。Cloudflare会提供至少两个名称服务器地址(例如 lara.ns.cloudflare.com
和 ryan.ns.cloudflare.com
)。你需要到你的域名注册商(腾讯云)处,将域名的DNS服务器修改为Cloudflare提供的地址
- 在腾讯云控制台,找到你的域名
dafeipython.asia
的管理页面 - 查找“修改DNS服务器”的选项
- 删除原有的NS记录,替换为Cloudflare提供的名称服务器地址
- 保存设置。此变更通常需要几小时到48小时才能全球生效,但一般几分钟后就可以在Cloudflare进行后续操作
2、在 Cloudflare 配置 DNS 解析
待域名状态在Cloudflare变为“有效”后,需要配置DNS解析记录,将域名指向我们的GitHub Pages
2.1、在Cloudflare Dashboard中选择站点 dafeipython.asia
,进入DNS管理页面
2.2、点击“添加记录”,为你的主域名创建CNAME记录:
- 类型:选择
CNAME
- 名称:若希望用户通过
www.dafeipython.asia
访问,则填写www
- 目标:填写你的GitHub Pages地址(
dafei-python.github.io
) - 代理状态:保持橙色云朵点亮状态(✅ 已代理),这样流量会经过Cloudflare加速和保护
- TTL:选择“自动”
2.3、为根域名 dafeipython.asia
创建 A 记录指向 GitHub 的 IP:
将这4个IP地址分别添加至Cloudflare
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
3、开启 SSL/TLS 加密
3.1、进入 SSL/TLS 设置页面,在概述中,推荐选择“完全(严格)”模式。此模式在浏览器到Cloudflare、Cloudflare到GitHub Pages之间都进行加密,安全性最高。
3.2、建议开启 “始终使用 HTTPS”:强制将所有HTTP请求重定向到HTTPS。
4、设置Hexo网站自定义域名
为了让GitHub Pages正确识别你的自定义域名,需要配置Settings-Pages-Custom domain,填入www.dafeipython.asia
,点击save(需要等待1-5分钟,Cloudflare中DNS 检查 )
5、验证和等待
完成以上所有步骤后,直接在浏览器中访问 https://dafeipython.asia
,检查是否能正确打开网站,并且地址栏显示安全的HTTPS锁标志。
注意
1、我们以前打不开的 https://dafei-python.github.io/
,不需要任何修改,会自动重定向到 https://dafeipython.asia
新域名这里
2、因为Cloudflare缓存机制,当你更新博客内容并重新部署后,用户可能不会立即看到最新内容。你可以在Cloudflare Dashboard的 缓存 > 配置中,使用清除缓存功能来手动清除特定URL或整个缓存
整个过程看起来是有有点复杂的,其实就是两个主要步骤,在Cloudflare 配置新的域名并指向GitHub,在GitHub添加自定义域关联到Cloudflare 。你学废了吗?
