国家/地区过滤(kubernetes、gcloud)

国家/地区过滤(kubernetes、gcloud)

我现在正在使用 GKE 和 kubernetes 以及 nginx 容器来代理不同的服务。我的目标是屏蔽一些国家。我习惯使用 nginx 来做这件事,它的 geoip 模块很有用,但到目前为止,kubernetes 不会将真实的客户 ip 转发到容器,所以我无法使用它。

在 kubernetes 实际转发真实 IP 之前,过滤掉国家/地区的最简单/最便宜的解决方案是什么?

  • 对外服务?
  • 仅使用 nginx、过滤国家、转发到 kubernetes 的简单 google 服务器(价格和可靠性方面不太好)?
  • 修改 kube-proxy(正如我在这里和那里看到的,但似乎有点奇怪)?
  • 前端 geoip 过滤(嗯,这是迄今为止最糟糕的想法)

谢谢你!

答案1

这个答案表示您可以通过 Ingress 对象使用 Google Cloud Platform 负载均衡器,然后在X-Forwarded-For标头中找到客户端的 IP 地址。

相关内容