奇怪的 CDN 重复回源问题,源站在总是收到五分钟之前的重复请求

2023-04-25 13:41:52 +08:00
 kcnine
一直在用腾 X 的 CDN ,之前源站不在 X 讯,昨天半夜把源站迁移到腾 X 云了,然后测试发现某些 API 的 GET 请求会在几分钟之后重放,因为有 SSE 的请求(标准的 SSE 必须用 GET),所以导致很严重的资源开销和数据异常。

排查半天排除了客户端和服务端的原因,分析日志发现在 CDN 第一次回源后,大约 5~10 分钟后,会收到来自另一个 IP 完全一样的重复请求,IP 不是 CDN 的,但很分散,量也很大,不得已在源站设置 CDN 节点 IP 白名单,暂时解决了问题,腾 X 的技术支持说不是 CDN 的 IP 跟他们无关,然后他们的 CDN 节点 IP 偶尔会有变动就很蛋疼。

我就纳闷这 TM 到底是为了啥?源站地址和请求内容只可能是在 CDN 回源的过程中被泄漏的,然后过几分钟进行重放,为啥要这样搞,就算是运营商做缓存他直接缓存 Response 不就得了,非要等几分钟重新请求一下?帮我监控 API 状态?

希望老司机解惑一下,猜测是运营商搞得骚操作,要不就只能是腾 X

目前想到的办法:
1.全部使用 POST ,要改代码,SSE 有点麻烦
2.回源开启 HTTPS ,感觉有点脱裤子放屁
3.继续用 IP 白名单,但 CDN 节点有新增时会 403

有没有老司机分析下原因,给点更好的解决方案

部分重放发起 IP ,严重怀疑跟马 X 腾的 CDN 有关系,因为后两个是腾 X 云的 IP,但不是 CDN 的
1.13.138.5
129.211.163.253
59.83.208.105
129.211.167.108
180.101.244.12
129.211.167.128
129.211.163.253
1448 次点击
所在节点    程序员
9 条回复
crystom
2023-04-25 13:48:04 +08:00
用户是用微信或者 QQ 浏览器访问的吗?会有服务器抓取。
kcnine
2023-04-25 13:51:18 +08:00
@crystom 不是,PC 端的也有。如果是抓取,也不可能绕过 CDN 直接访问源站的
hankai17
2023-04-25 14:06:12 +08:00
客户端缓存了?
XiLingHost
2023-04-25 14:11:12 +08:00
建议全链路 https ,你不妨看看腾讯的 cdn 有没有像 cloudflare 那种 origin 证书的说法,签 20 年的专用于 cdn 访问的证书
XiLingHost
2023-04-25 14:12:17 +08:00
https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/

就是这种东西,看看腾讯的 CDN 有没有对标的产品
Kinnice
2023-04-25 14:22:26 +08:00
反诈主动探查
acbot
2023-04-25 14:48:34 +08:00
可以在 CDN 上添加特殊 header 指令,然后在源网站验证!
kaedeair
2023-04-25 14:54:32 +08:00
查了一下全是南京的,除了 59 和 180 开头的,分别是联通电信,其他全是腾讯云的,感觉是腾讯云和营运商合作的什么缓存机制?
kcnine
2023-04-25 16:40:47 +08:00
@acbot 这个方案可行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX