이번 포스트에서는 Nginx Ingress에서 Proxy Protocol을 통해 클라이언트의 Source IP를 가져오는 방법에 대해서 다룬다. 자세한 설명은 쿠버네티스 공식 문서를 참고하는게 낫다. 1.
프록시로 인한 Source IP 변경 리버스 프록시를 통해 REST 서비스 요청에 대한 LB를 수행할 경우 NAT에 의해 출발지, 목적지 IP가 변경된다. 그러나 가끔씩은 클라이언트의 IP를 얻을 필요가 있는데, 이 경우 Nginx (LB) 의 Proxy Protocol이라고 하는 기능을 통해 Source IP를 보존할 수 있다.
이는 HTTP 헤더에 X-Real-Ip와 같은 특수한 필드를 정의함으로써 동작한다. 말보다는 직접 해보는 것이 빠를 것 같다.
테스트용 Deployment, Service, Ingress 규칙 및 Nginx controller가 생성되어 있다는 가정 하에 진행한다. 2. NodePort를 통해 노출된 Nginx Ingress의 경우 실 환경에서 NodeP...