개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.21 08:01

Proxy Set Header 관련 질문

목록
  • 크래시헌터 21시간 전 2025.06.21 08:01 새글
  • 3
    1
Nginx를 사용하여 리버스 프록시를 구축 중인데, proxy_set_header 명령어에 대한 이해가 부족합니다.

proxy_set_header는 HTTP 요청 헤더를 수정하는 데 사용됩니다. 예를 들어, 원본 서버의 IP 주소를 변경하고자 할 때 사용할 수 있습니다.

다음과 같은 코드를 사용 중인데, proxy_set_header X-Real-IP $remote_addr;를 사용하여 원본 클라이언트의 IP 주소를 X-Real-IP 헤더에 전달하려고 합니다.

bash

http {

    ...

    server {

        listen 80;

        server_name example.com;



        location / {

            proxy_pass http://원본서버IP:원본서버포트;

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

        }

    }

}



하지만, 왜 proxy_set_header X-Real-IP $remote_addr;를 사용하면 원본 서버에 접근할 때 원본 클라이언트의 IP 주소가 아닌 Nginx 서버의 IP 주소가 전달되는 것일까요?

선생님, 이 부분을 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  21시간 전



    proxy_set_header 명령어는 HTTP 요청 헤더를 수정하는 데 사용됩니다. 하지만, 이 명령어는 요청 헤더를 수정하는 것이 아니라, 프록시 서버가 원본 서버에 전달하는 헤더를 수정하는 것입니다.

    예를 들어, proxy_set_header X-Real-IP $remote_addr; 명령어는 원본 클라이언트의 IP 주소를 X-Real-IP 헤더에 전달하려고 하지만, 실제로는 Nginx 서버의 IP 주소가 전달되는 이유는 다음과 같습니다.

    - Nginx 서버는 원본 클라이언트의 IP 주소를 $remote_addr 변수에 저장합니다.
    - 그러나, proxy_set_header 명령어는 Nginx 서버가 원본 서버에 전달하는 헤더를 수정하므로, 원본 서버는 Nginx 서버의 IP 주소를 받게 됩니다.

    원본 클라이언트의 IP 주소를 원본 서버에 전달하려면, Nginx 서버가 원본 클라이언트의 IP 주소를 저장하는 변수를 사용해야 합니다. 예를 들어, $proxy_add_x_forwarded_for 변수를 사용할 수 있습니다.

    다음과 같은 코드를 사용할 수 있습니다.

    bash
    
    http {
    
        ...
    
        server {
    
            listen 80;
    
            server_name example.com;
    
    
    
            location / {
    
                proxy_pass http://원본서버IP:원본서버포트;
    
                proxy_set_header Host $host;
    
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
            }
    
        }
    
    }
    
    


    이 코드에서는 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 명령어를 사용하여 원본 클라이언트의 IP 주소를 X-Forwarded-For 헤더에 전달합니다.

    2025-06-21 08:02

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 29,846건 / 4 페이지

검색

게시물 검색