![在 Google Cloud Armor 安全策略中强制执行密钥时,如何验证 XFF_IP 是否来自已知代理或 CDN?](https://linux22.com/image/787834/%E5%9C%A8%20Google%20Cloud%20Armor%20%E5%AE%89%E5%85%A8%E7%AD%96%E7%95%A5%E4%B8%AD%E5%BC%BA%E5%88%B6%E6%89%A7%E8%A1%8C%E5%AF%86%E9%92%A5%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%20XFF_IP%20%E6%98%AF%E5%90%A6%E6%9D%A5%E8%87%AA%E5%B7%B2%E7%9F%A5%E4%BB%A3%E7%90%86%E6%88%96%20CDN%EF%BC%9F.png)
我目前正在开展一个项目,希望在负载均衡器级别对每个用户的 IP 地址应用速率限制。这个想法是限制在给定时间单位内超过特定请求限制的任何用户。
注意:我正在使用 Google Cloud Armor。
该架构涉及负载均衡器前面的 CDN。据我了解,使用 CDN 时,我的负载均衡器看到的传入请求的 IP 地址是 CDN 的 IP,而不是原始客户端的 IP。
我已经尝试使用 XFF_IP 进行速率限制,它似乎按预期工作。但是,我不确定如何防止潜在的 XFF 标头欺骗。任何见解或建议都将不胜感激。
我阅读了 Pulumi 的文档,以了解我可以强制执行的不同密钥。已知 XFF_IP 存在故障。
我可以采取什么措施来防止 XFF 标头欺骗并确保准确的速率限制?