API Server 앞에 NginX 를 프록시서버로 뒀을때 , API Server 에서 아무리 Header 정보 아무리 찾아봐도,
Client 정보를 알수가 없다. Nginx 가 헤더정보를 안 넘겨주기 때문이다.
이럴경우 Nginx 헤더 설정이 필요하다.
위에 언급한 Nginx 같은걸 Ingress(라우터 외부에서 라우터 내부로 유입되는 패킷을 필터링) 서버 라 부른다.
API Server 앞에 NginX 를 프록시서버로 뒀을때 , API Server 에서 아무리 Header 정보 아무리 찾아봐도,
Client 정보를 알수가 없다. Nginx 가 헤더정보를 안 넘겨주기 때문이다.
이럴경우 Nginx 헤더 설정이 필요하다.
위에 언급한 Nginx 같이 클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙들의 모음을
쿠버네티스에서는 Ingress 서버 라 부른다.
Ingress로 Nginx 를 사용할경우 yaml 템플렛 annotations 부분에 아래와 같이 추가하면 클라이언트 정보를 알 수 있다.
metadata:
annotations:
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
proxy_set_header X-Real-IP $proxy_protocol_addr;
참고 : https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/
'Web개발 > MSA' 카테고리의 다른 글
Restful API 제작시 HiddenHttpMethodFilterConfiguration (0) | 2020.03.02 |
---|---|
MSA 권한관리 (0) | 2020.02.26 |
이벤트 기반 데이터관리 MSA 트랜젝션 아키텍쳐 (0) | 2019.09.01 |