메뉴 건너뛰기

SayClub.org

리눅스(Linux)

Nginx는 서버 블록 (Apache의 가상 호스트)을 수행 할 수 있는 기능이 있지만 프록시 헤더 내에서 IP 주소를 전달해야 할 때 문제가 발생합니다.

프록시 서버 뒤에 위치한 서버들에서는 실제 방문자의 IP가 아닌 프록시 서버의 IP만 보인다는 점입니다.

하지만 해결책이 있습니다.

 

※ 프록시 서버 구성 편집

(Docker 사용 경우 - <path to nginx-proxy-manager>/data/nginx/default_host/site.conf)

 

먼저 프록시 서버(프론트엔드)에 있는 프록시 서버 블록을 편집합니다. 기본적으로 내 모습은 다음과 같습니다.

 

## redirect uname.in to https

server {

  listen      80 default_server;

  server_name uname.in;

  return 301 https://uname.in;

}

 

## redirect www prefix to https

server {

  listen      80;

  server_name www.uname.in;

  return 301 https://www.uname.in;

}

 

server {

  #listen 80;

  listen 443 ssl default_server;

  server_name uname.in;

  ssl_certificate /etc/nginx/ssl/uname.in.crt;

  ssl_certificate_key /etc/nginx/ssl/uname.in.key;

 

  location / {

    proxy_set_header  Host $host;

    proxy_set_header  X-Real-IP $remote_addr;

    proxy_set_header  X-Forwarded-Proto https;

    proxy_set_header  X-Forwarded-For $remote_addr;

    proxy_set_header  X-Forwarded-Host $remote_addr;

    proxy_pass        http://wp.uname.in;

  }

}

 

다음 세 줄을 포함하는 것이 매우 중요합니다.

Host : 프록시 서버의 이름과 포트.

X-Real-IP : 방문자의 IP 주소를 가상 호스트로 보냅니다.

X-Forwarded-For : 방문자의 IP 주소를 가상 호스트로 보냅니다.

 

※ 프록시 되는 서버 구성 편집

(/etc/nginx/sites-available/default)

 

이제 프록시 서버(백엔드)의 구성에서 서버 블록 내에 아래 3개의 중요한 행을 포함해야 하지만 위치 블록 외부에 있어야 합니다.

 

server {

    #other junk here blah blah

    set_real_ip_from 10.0.0.0/8;

    real_ip_header X-Real-IP;

    real_ip_recursive on;

 

    location / {

       #some junk here

    }

}

 

세 줄은 다음과 같습니다.

 

set real ip_from : nginx가 이 범위 내의 프록시 서버에서 실제 방문자의 IP를 가져 오도록 지시합니다. 10.0.9.2와 같은 고정 IP 주소 일 수도 있습니다.

real_ip_header : nginx는 주어진 주소에서 클라이언트의 IP 주소를 선택합니다.

real_ip_recursive : 프록시 서버의 IP가 방문자의 IP 주소로 대체됩니다.

번호 제목 글쓴이 날짜 조회 수
75 우분투(Ubuntu) 서버 / Nginx, PHP, MariaDB 설치하고 설정하기 미르다테 2024.12.30 17
74 워드프레스 미디어 업로드 용량 제한 오류 해결 미르다테 2024.12.30 18
» Nginx Reverse Proxy 사용시 IP 주소 전달 문제 해결하기 미르다테 2024.12.30 21
72 우분투(Ubuntu) 서버에 삼바(SAMBA) 설치하기 미르다테 2024.12.30 33
71 만자로(Manjaro) 리눅스 설치 후 초기 세팅 미르다테 2024.12.30 28
70 만자로(Manjaro) 리눅스 Pacman 사용법 미르다테 2024.12.30 23
69 Nginx Proxy Manager SSL 자동 갱신하기 미르다테 2024.12.30 29
68 우분투(Ubuntu) 서버 한글 폰트 설치하기 미르다테 2024.12.30 43
67 우분투(Ubuntu) 서버 지역시간설정(tzdata) 및 로케일(locale) 설정하기 미르다테 2024.12.30 56
66 우분투(ubuntu) 서버 유저명, 홈경로, 그룹명 변경 방법 미르다테 2024.12.30 41
65 CentOS 리눅스 YUM 사용법 미르다테 2024.12.30 48
64 CentOS 서비스 자동시작 설정 및 해제 미르다테 2024.12.30 67
63 CentOS 7에서 Docker 및 Docker Compose 설치하기 미르다테 2024.12.30 84
62 칼리 리눅스(Kali Linux)에 크롬(Chrome) 설치하기 미르다테 2024.12.30 69
61 우분투(Ubuntu)에서 일괄 업데이트하기 (불필요한 패키지 자동 삭제) 미르다테 2024.12.30 57
60 우분투(Ubuntu) 서버 보안 자동 업데이트 방법 미르다테 2024.12.30 71
59 CPU Governor 종류 미르다테 2024.12.30 85
58 그누보드5 게시판의 첨부파일 용량 제한과 관련된 PHP 설정 미르다테 2024.12.30 79
57 리눅스 로그파일 utmp, wtmp, btmp, last log, sulog 미르다테 2024.12.30 51
56 Virtualbox Centos 7 게스트확장설치 미르다테 2024.12.30 61
위로