【发布时间】:2021-01-23 18:25:02
【问题描述】:
我的 GCE Http(s) 负载平衡器有问题。没有检测到正确的 X-Client-Geo-Region 等。
因为我们需要为目前 3000 个(每天都在增加)使用 ssls 的自定义域提供服务,所以在没有自定义 ssl 终止的情况下,我找不到另一种构建此基础架构的方法。而且我想使用云装甲来移除另一个需要维护的东西,否则我会在 nginx 代理上安装 ModSecurity。
EntrypointA 仅显示美国地区不起作用。
EntrypointB 按预期工作,检测到正确的区域 (GB)。 Ofc 这绕过了 SSL。
EntrypointB
|
V
EntrypointA -> SSL Termination Service -> GCE Loadbalancer -> GCE Instance (Http server)
(Nginx proxy) ^
|
Cloud Armor
到目前为止,我已经尝试设置可以在代理中找到的每个标头,但是负载均衡器不查看标头,或者它是我不知道的。
我尝试过的标题
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-User-IP $remote_addr;
proxy_set_header X-ProxyUser-Ip $remote_addr;
proxy_set_header True-Client-IP $remote_addr;
当我检查服务器上的标头时,它们看起来都正确(不包括地理标头)。 Forwarded-For 正确,X-Real-IP 正确。
【问题讨论】:
标签: google-cloud-platform google-compute-engine google-cloud-load-balancer