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