[traefik] x-forworded-for 설정

푸르둥개·2025년 11월 18일

이슈
traefik 구조에서 Client 의 real IP 를 log 남길수 있는 방법 찾기
nginx와 php를 사용하는 platform, 실제 client ip를 nginx log에 쌓기 위해서 nginx.conf을 변경
앞단 Traefik 이 proxy 역활, server 에서는 traefik 이 Client 라고 판단 ip 를 찍음 (10.42.0.x )

처리 방법

  • /etc/nginx/default.cof 에 아래 구문 추가 - ( $remote_addr 값이 real_ip_header 의 마지막 값으로 변경 )
===================================

set_real_ip_from 10.42.0.0/16;

real_ip_header X-Forwarded-for;
===================================
  • 10.42.0.0/16 은 rancher에서 사용하는 내부 네트워크 대역 임.

참고

  • https://meetup.nhncloud.com/posts/163

  • https://www.loadbalancer.org/blog/nginx-and-x-forwarded-for-header/

  • set_real_ip_from:

    • 프록시 서버로부터 요청이 들어왔을 때 실제 클라이언트 IP 주소가 포함된 헤더를 지정합니다.
    • 여러 개의 IP 주소를 지정할 수 있으며, 순서대로 검사됩니다.
    • 주소 범위를 CIDR 표기법으로 지정할 수도 있습니다.
  • real_ip_header:

    • set_real_ip_from 지시어에서 지정된 헤더에서 실제 클라이언트 IP 주소를 추출하는 방식을 지정합니다.
    • 여러 헤더를 지정할 수 있으며, 우선순위를 설정할 수 있습니다.
profile
DevOps업무중, 개발팀과 운영팀이 알아두면 좋은 정보를 공유합니다.

0개의 댓글