Nginx

Nginx를 이용하여 다른 서버로 포워드하는 방법(리버스프록시)

공부 기록장 2024. 12. 4. 00:36

1. Nginx 설정 파일 열기(기본적으로 nginx/nginx.conf 파일을 수정하지만 적용해도 안될 경우 아래 명령 실행)

vi /etc/nginx/sites-available/default

 

 

 

 

 

 

2. 아래 명령어를 설정 파일에 적용하기(IP주소는 사용자 정의)

upstream backend_servers {
    server 43.203.241.183:8080;
    server 13.124.93.111:8080;
    server 52.79.83.110:8080;
}

server {
     listen 80;

     location / {
         proxy_pass http://backend_servers; 
         proxy_set_header Host $host;  
         proxy_set_header X-Real-IP $remote_addr;  
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
         proxy_set_header X-Forwarded-Proto $scheme;  
     }
}

 

● try_files $uri $uri/ =404; 구문은 #으로 주석처리해야됨

 

 

 

 

 

 

3. Nginx 구문이 올바른지 테스트하기

sudo nginx -t

 

 

 

 

 

 

 

4. Nginx를 재시작하여 변경 사항을 적용

sudo systemctl restart nginx

 

 

그러면 nginx 서버 IP로 접속하면 원격서버로 포워드된다. (리버스 프록시 역할)


※혹시 안 될 경우 아래 명령어 실시

sudo apt update
sudo apt install policycoreutils selinux-utils selinux-basics

sudo selinux-activate
sudo reboot

sudo setsebool -P httpd_can_network_connect 1