Kong in kubernetes client ip is ingress ip

    apiVersion: v1

    kind: Service



        service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

        service.beta.kubernetes.io/aws-load-balancer-type: nlb

      name: kong-proxy

      namespace: kong


      externalTrafficPolicy: Local


      - name: proxy

        port: 8000

        protocol: TCP

        targetPort: 8000

      - name: proxy-ssl

        port: 443

        protocol: TCP

        targetPort: 8443

      - name: kong-admin

        port: 8001

        protocol: TCP

        targetPort: 8001

      - name: kong-admin-ssl

        port: 8444

        protocol: TCP

        targetPort: 8444


        app: ingress-kong

      type: NodePort



No matter which client I access from, in the end my client IP is the IP of the ingress, not the real IP. The picture is my visit from my local machine, but the ip is not


How do I get the real ip

Here is a guide that should help you out:

Thank you very much, but my cluster is local, the NodePort type used by kong-proxy, env I also have configured KONG_TRUSTED_IPS, KONG_PROXY_LISTEN, KONG_REAL_IP_HEADER, but that has no effect, it is worth noting that I have tried to use nginx outside the cluster to forward the request Give kong, and configure these in nginx in this way, so that I can get the real IP, the following is the nginx configuration

I am using docker desktop for windows to build a kubernetes cluster, does it have anything to do with this