代码之家  ›  专栏  ›  技术社区  ›  eugeneK

如何在Kubernetes托管的应用程序中获取客户端ip?

  •  0
  • eugeneK  · 技术社区  · 5 年前

    我有一个由一些微服务组成的应用程序。UI通过Nginx提供服务,并通过反向代理访问API。这是一个与牧场主一起部署的本地Kubernetes。

    UI服务是NodePort,所以我可以在集群之外访问它,API可以是NodePort或ClusterIP。在API microservice中,有一个IP记录器,无论我在做什么,它总是显示部署UI的节点的IP。

    到目前为止,我确实尝试了为NodePort服务设置“externalTrafficPolicy:Local”,并为反向代理设置了Nginx头(X-Forwarded-for和X-Forwarded-Proto)。似乎什么都不管用。

    是否可以在Kubernetes托管的应用程序中获取客户端IP?

    Kubernetes版本:v1.17.3

    Rancher v2.3.4

    0 回复  |  直到 5 年前
        1
  •  1
  •   coderanger    5 年前

    externalTrafficPolicy: Local 然后看看实际情况 REMOTE_ADDRESS