google-cloud-platform – 如何从Google Container Engine访问HTTP请求的客户端IP?

我正在使用Google Container Engine在docker容器中运行gunicorn flask服务.我按照教程http://kubernetes.io/docs/hellonode/设置了集群

REMOTE_ADDR环境变量始终包含Kubernetes群集中的内部地址.我正在寻找的是HTTP_X_FORWARDED_FOR,但它在请求标头中缺失.是否可以将服务配置为在请求中保留外部客户端ip?

最佳答案
我假设您通过将服务类型设置为LoadBalancer来设置服务?现在,当客户端IP丢失时,传入的网络负载平衡数据包通过Kubernetes路由的方式是一个不幸的限制.

您可以使用set up an Ingress object将服务与Google Cloud HTTP(s) Load Balancer集成,而不是使用服务的LoadBalancer类型,这将为传入的请求添加X-Forwarded-For标头.

转载注明原文:google-cloud-platform – 如何从Google Container Engine访问HTTP请求的客户端IP? - 代码日志