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

서버 준비

Ncloud 콘솔에서 CentOS 7.8, Ubuntu 20.04 두 대의 서버를 아래와 같이 준비했습니다.

NginX를 설치하는 방법은 아래 문서를 참고하시기 바랍니다.

- CentOS에 NginX 설치하기
- Ubuntu에 NginX 설치하기
Load Balancer에 연동된 NginX 웹서버에서 Client IP 기록하고 확인하는 방법입

Load Balancer 준비

Load Balancer도 [Application Load Balancer]를 [10.0.4.0] 대역으로 설정해서 준비했습니다.

Application Load Blancer 의 생성 가이드는 아래 문서를 참고하시기 바랍니다.

- VPC 환경에서 Application Load Balancer 생성하기
Load Balancer에 연동된 NginX 웹서버에서 Client IP 기록하고 확인하는 방법입

Access Log 확인

Ncloud의 상품인 [Cloud Log Analytics]에서 NginX의 로그를 확인해보면 아래와 같이 Log 내용에 앞쪽에는 [Load Balancer IP]가 기록되어 있고, 제일 뒤쪽에는 [실제 Client IP]가 기록되어 있는 것을 확인할 수 있습니다. 해당 서버들에는 오로지 NginX만 설치했고, 다른 모듈을 설치하거나 환경 설정 파일을 변경하지 않은 상태입니다.

Load Balancer에 연동된 NginX 웹서버에서 Client IP 기록하고 확인하는 방법입

참고 URL

  1. Rocky Linux NginX 설치 기본 가이드
  2. Rocky Linux NginX Multi Site 설치 가이드
Tags: lemp nginx log