Load Balancer에 연동된 NginX 웹서버에서 Client IP 기록하고 확인하는 방법입니다
개요
Ncloud (네이버 클라우드)에서 Load Balancer에 연동된 NginX 웹서버를 사용할 때 Load Balancer IP가 아닌 실제 Client IP를 기록하고 확인하는 방법을 알아보겠습니다.
결론부터 이야기 하자면 NginX에서는 Apache와 달리 별도의 모듈 설치나 환경 설정 파일 수정 없이도 자동으로 실제 Client IP와 Load Balancer IP가 동시에 모두 기록
됩니다. 어떻게 기록되는지 테스트 결과를 보면서 확인해보겠습니다.
테스트 환경
⁃ Server-1: CentOS 7.8
⁃ Server-2: Ubuntu 20.04
⁃ NginX: NginX 1.23.1
⁃ Server-2: Ubuntu 20.04
⁃ NginX: NginX 1.23.1
서버 준비
Ncloud 콘솔에서 CentOS 7.8, Ubuntu 20.04 두 대의 서버를 아래와 같이 준비했습니다.
Load Balancer 준비
Load Balancer도 [Application Load Balancer]를 [10.0.4.0] 대역으로 설정해서 준비했습니다.
Access Log 확인
Ncloud의 상품인 [Cloud Log Analytics]에서 NginX의 로그를 확인해보면 아래와 같이 Log 내용에 앞쪽에는 [Load Balancer IP]가 기록되어 있고, 제일 뒤쪽에는 [실제 Client IP]가 기록되어 있는 것을 확인할 수 있습니다. 해당 서버들에는 오로지 NginX만 설치했고, 다른 모듈을 설치하거나 환경 설정 파일을 변경하지 않은 상태입니다.
참고 URL
- Rocky Linux NginX 설치 기본 가이드
- Rocky Linux NginX Multi Site 설치 가이드