我在带有Google容器引擎的docker容器中运行Nginx服务,该容器将特定的域名转发给其他服务,如API,前端等.我有配置服务的简单集群. Nginx服务是负载平衡.
REMOTE_ADDR环境变量始终包含Kubernetes集群中的内部地址.我查找的是HTTP_X_FORWARDED_FOR,但是请求标头中缺少它.是否可以配置服务以在请求中保存外部客户端IP?
最佳答案
通过当前L3平衡的实现(从Kubernetes 1.4开始),无法获得与服务连接的源IP地址.
听起来像使用Ingress对象(或通过手动创建HTTP/S load balancer)可以很好地满足您的使用情况,这将把源IP地址放入X-Forwarded-For HTTP标头中,以便您的后端轻松检索.