博客使用 Netlify 进行域名加速之后,每天都有国外的 ip 访问,但这些明显不是正常阅读者。
为什么博客使用 Netlify 进行域名加速之后,每天都有国外的 ip 访问,这些 ip 明显不是正常阅读者。
这种原因可能是什么,感觉每天被监控一样。

xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
为什么博客使用 Netlify 进行域名加速之后,每天都有国外的 ip 访问,这些 ip 明显不是正常阅读者。
这种原因可能是什么,感觉每天被监控一样。

引言:加入 L 站以来,小白也算是慢慢折腾,了解机场 VPS 等一系列网络基础设施概念后,尝试自己当一回赛博工人,借鉴大伙的智慧,手把手从里到外开始建站,装点一下属于自己的博客。再就是自己在 L 站也水了太多,没有自己的产出,督促自己写一篇文档,记录自己折腾的日子。整篇文档仅供参考,望大家轻喷。
参考资料:
1.[教程] Cloudflare 单域名 SaaS 优选教程。让 Cloudflare 不再成为中国减速器,最低延迟低至 10ms!
2. 菜鸟教程零基础 Cloudflare 优选教程
3.0 成本 10 分钟用 Cloudflare + GitHub + Astro 搭建一个全球秒开、永久免费的顶级个人博客
当然整个搭建过程也不是一帆风顺的,在我看来并不是按照大佬们的操作指示,一步一步来就会成功,这其中涉及到许多概念的理解,感谢新时代的 AI 技术为我答疑解惑。接着来分别阐述一下为什么选这些技术栈,具体技术就不做介绍了,这里着重说明为什么选 A 而不选 B 此类的问题。
[ 用户浏览器]
|
| 1. DNS查询: "主站在哪?"
v[ DNSPod 智能解析 ] | |
| (国内用户) | (境外用户)
| 2a. 返回【优选IP】 | 2b. 返回【官方Anycast IP】
| (来自 saas.sin.fan) | (来自 cloudflare 回源域名)
v v[ Cloudflare 边缘节点 ] <================================+ |
| 3. 携带请求头: Host: 主站
| 识别 SaaS 证书, 建立加密连接 (TLS)
|
| 4. 触发 Fallback Origin (回源后备)
| 通过内部骨干网转发至: 回源域名
v[ Netlify 目标服务器 ]
|
| 5. 匹配 Domain Alias (域名别名)
| 确认 Host: 主站域名是“自己人”
|
| 6. 读取 Astro 构建的静态文件 (dist)
| 返回数据 (且不触发 301 重定向)
v[ 用户浏览器 (成功渲染) ]
用简单的词汇描述一下整个过程,总的来说需要四个域名,其中两个是我们自己准备并托管的(A 和 B),另外两个分别是第三方服务分配或者维护的(C 和 D),我们只需要拿来用即可:
总结:数据怎么跑的?
这里解决的是博客存储在哪的问题,刚开始时我以为博客文件都要存在 VPS 服务器上,然后请求的数据流是 [主机 → VPS],后来我才发现静态博客大多采取第三方托管的方式,这里比较有名的托管服务有 Cloudflare Pages, Netlify, Vercel, GitHub Pages 等等。
首先尝试了 Cloudflare Pages,但 Cloudflare Pages 的问题在于,不托管在 Cloudflare 上的域名无法添加到 Pages 主页的自定义域名,具体情况如下图所示。
Cloudflare Pages 行不通,就去看看别人家。由于我搭建博客的时候阅读了 Astro 的官方文档,其中建议我在 Netlify 进行托管,后续的操作中我也就这么做了,整体没有遇到 Cloudflare 那样不认域名的问题,在此不赘述有关 Netlify 具体如何托管博客站,文档非常明白。
图:Astro 官方推荐的托管方式
图:在 Netlify 托管可以手动添加三方域名
这是由 CF 自己的托管逻辑决定的,一旦你开启了小黄云托管,CF 会自动接管域名流量,分配一组 Anycast IP,但在 CF 内部,用户是无法修改这一部分的 IP 的,也就是说无法根据外部线路实现动态优化,在大陆内的访问无法得到保障。
在这样的情况下,引入 CF 的 SaaS (Custom Hostnames)服务,即使我们的主域名不在 CF 托管,只要有一个回源域名在担保,也可以给主域名访问提供加速和 SSL 证书。
主域名在 CF 外,我们可以自己定义 DNS 怎么解析,分线路优化。回源域名在 CF 内,保留了海外访问加速通道。
具体到我的情况,我的主域名是在阿里云购买的,然后在 DNSHE 免费申请了一个.de5.net 的域名当回源,藏在后面的域名,不用太好看,能用就行。
图:DNSHE 免费域名
下列为托管的具体步骤,参考了 MIYUSAMA 的贴菜鸟教程零基础 Cloudflare 优选教程,自认为非常详细了,几乎一模一样,有不懂的可以问问 Gemini 等 AI,然后实在不知道的,我有空看到了也会回复大家。
一开始我的主域名托管在阿里云上的,毕竟就是从阿里买的,平台的技术力也毋庸置疑,但是用着用着发现,阿里云 DNS 解析没办法指定海外线路,这一点在分流的时候影响还挺大的。相比而言,同样免费套餐的腾讯 DNSPod 默认有海外线路解析。
图:阿里云免费版不支持选取境外解析线路
图:DNSPod 解析列表有境外解析选项
DNS 托管迁移很简单,以我从阿里云托管到腾讯为例,首先找到腾讯的 NX 服务器,一般来说是一对,然后填入阿里云的 NX 服务器配置就行了,这一步的作用是,腾讯告诉阿里,我拿到了这个域名的解析权,后面你就不用管了。
图:优选前,DNS 解析权托管在 CF 上
优选后,DNS 解析托管在 DNSPod 上,加速线路分别交给 CF 和 saas.sin.fan (看起来好像没什么变化)
L 站很多帖子是对子域名进行优化,技术路线是:CF 回源域名 + CF Pages + 主域名阿里云解析,这一套方法在我尝试下来行不通,原因和前文提到的一样,无法将托管在其他平台上的主域名,加入到 Pages 的自定义域名列表中。
Gemini 给出过解决方案,重写 rules 或者 用 workers,主要思路是改 Host 头为主域名,但实际没有成功过,只能访问回源域名,然后主域名解析不到内容,我猜测原因是在同一个 CF 账号下,Pages 的自动路由策略会干扰 SaaS 的手动回源策略,导致回源域名根本拉不动 Pages 的内容。
图:Gemini 的胡说八道
技术在于折腾,看起来好像没啥提速效果,但是从整个网络数据流走向,以及架构方面,我有了很多新的收获,也感谢 L 站的各位积极分享!