/var/log/nginx/error.log 를 보면, 아래와 같이 클라이언트IP가 로컬 IP로 표시되서 인바운드되는 IP를 추적할 수 없는 경우가 있다. 이런 경우 동일IP에서 계속해서 로그인 시도를 하는 경우를 판단하기 어렵게 되기 때문에 클라이언트IP는 제대로 표시되도록 하는 것이 좋다.

while reading response header from upstream, client: 127.0.0.1, server

실제로 이 요청이 들어온 클라이언트의 IP를 표시하려면 Nginx의 설정에서 다음과 같이 설정해야 합니다:

  1. Real IP 모듈 설정: Nginx에서 클라이언트의 실제 IP 주소를 로깅하기 위해서는 ngx_http_realip_module을 사용해야 합니다. 이 모듈은 클라이언트 IP를 실제 요청을 보낸 클라이언트의 IP로 변경할 수 있도록 해줍니다.
  2. 설정 파일 변경: Nginx의 설정 파일(/etc/nginx/nginx.conf 또는 /etc/nginx/sites-available/default 등)에서 다음과 같이 설정합니다.

    http {
    # real_ip module settings
    set_real_ip_from 127.0.0.1;
    # 로컬 네트워크나 로드 밸런서의 IP를 설정
    real_ip_header X-Forwarded-For;
    # 실제 IP 주소를 담고 있는 헤더를 설정 (예: X-Forwarded-For)
    # …
    server {
    # …
    location / {
    # …
    }
    }
    }

    위 설정에서 set_real_ip_from은 실제 IP를 전달하는 네트워크나 장치의 IP 주소를 설정합니다. real_ip_header는 클라이언트의 실제 IP 주소를 포함하고 있는 헤더를 지정합니다. 일반적으로 로드 밸런서를 통해 들어오는 요청의 경우 X-Forwarded-For 헤더를 사용합니다.
  3. Nginx 재시작: 설정 파일을 변경한 후에는 Nginx를 재시작하여 변경 사항을 적용합니다.

    sudo systemctl restart nginx

이렇게 설정한 후에는 로그에서 클라이언트의 실제 IP 주소가 제대로 표시될 것입니다.

#NGINX #REAL_IP설정 #REAL_IP

Author: 모요
댓글

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

*

©2024 MOYO Blog with DAON Consulting Co,LTD.

CONTACT US

We're not around right now. But you can send us an email and we'll get back to you, asap.

보내는 중입니다..

로그인하세요.

계정 내용을 잊으셨나요 ?