edgeone 下线了 cidr 查询接口又禁止了免费版的源站防护,还有方法拿到 realip 吗?

4 小时 45 分钟前
 lonelyhentai

第一步:2025 年先下线源站防护,公告 https://cloud.tencent.com/announce/detail/2153

这样没有办法通过查到自己站点的 cdn ip cidr ,一般用户都会想到查询整个 edgeone ip 段,比如 https://api.edgeone.ai/ips?version=v4

第二步:2026 年下线 ip range 查询接口,这下彻底拿不到 ip range 了

# [DEPRECATION NOTICE] This interface stopped serving on 2026-07-31 and will be officially offline on 2026-08-31. Please migrate in time.
# [下线公告] 本接口已于 2026-07-31 停止服务,2026-08-31 正式下线,请及时迁移。

通常来说有反向代理情况下,最通用的方法都是通过 xff 递归判断 ip 是否符合代理 ip 然后找到第一个不认识的 ip 作为 real-ip 。

edgeone 连这个都限制后,就只能靠 EO-Connecting-IP 之类的头,一旦你有多 cdn (比如同时在用 cf )或者多级 cdn ,那很容易被伪造。逼着你要不只用 edgeone 一家,要不付钱,要不不允许防御?还有其它方法吗?

276 次点击
所在节点    分享发现
8 条回复
yuzo555
4 小时 42 分钟前
设置一个你自己的独有的回源请求头,内容复杂一点。源站先检查这个请求头是否正确,如果正确,说明是 CDN 请求来的,然后再通过 CDN 的请求头判断用户 IP 。
yuzo555
4 小时 39 分钟前
这种方法配置之后,也可以配置你的 WAF 进入白名单模式,只认有这个正确请求头的请求,这样还能顺便防止源站泄露被 CC 的风险。参考资料: https://docs.dogecloud.com/cdn/practice-waf-block
lonelyhentai
4 小时 38 分钟前
@yuzo555 主要是如果只用 EdgeOne 还好,一旦同时用其他家 cdn 或者可以直接访问,那可以随便伪造 header, fail2ban 之类就没用了
lonelyhentai
4 小时 36 分钟前
还有一种嵌套 cdn 的情况,本身托管在 cf 上开了 proxy, 针对国内访问走 edgeone 也不行了
yuzo555
4 小时 36 分钟前
每家 CDN 都支持配置回源请求头吧,你每家配置不一样的就行,服务器上都验证就行
lonelyhentai
4 小时 28 分钟前
@yuzo555 感谢建议。但是如果给 A 设置了 A-Header ,B 设置了 B-Header ,那可以在 A 传 B-Header 来伪造吧。还有多级 cdn 也废了
yuzo555
4 小时 22 分钟前
回源请求头,在整个过程中,只有你、CDN 厂商、机房知道,除非你信不过这些厂商,或者你的服务器被远程控制了,否则其它人是拿不到的。
lonelyhentai
4 小时 22 分钟前
@yuzo555 想了下佬的这个思路很好,可以混合 xff 和 EO-{{SECRET}}-Client-IP 来写严格判断,不过得改中间件了,有点麻烦但可行,感谢!

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

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

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

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

© 2021 V2EX