다음은 도메인에 따라 요청을 특정 포트로 전달하는 예시 설정입니다.

  1. NGINX 설치 및 설정 파일 위치
    • 기본적으로 NGINX 설정 파일은 /etc/nginx/nginx.conf 또는 /etc/nginx/conf.d/default.conf에 위치해 있습니다.
    • 설정을 수정하기 전에 기존 설정 파일을 백업하는 것이 좋습니다.
  2. NGINX 설정 파일 수정다음 예제에서는 example1.com 도메인으로 들어오는 요청을 포트 8080으로, example2.com 도메인으로 들어오는 요청을 포트 9443으로 전달하는 설정을 보여줍니다.
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    # Server block for example1.com
    server {
        listen       80;
        server_name  example1.com;

        location / {
            proxy_pass http://localhost:8080;
            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;
        }
    }

    # Server block for example2.com
    server {
        listen       80;
        server_name  example2.com;

        location / {
            proxy_pass http://localhost:9443;
            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;
        }
    }

    # Optional HTTPS server block for example1.com
    server {
        listen       443 ssl;
        server_name  example1.com;

        ssl_certificate     /path/to/cert.pem;
        ssl_certificate_key /path/to/key.pem;

        location / {
            proxy_pass http://localhost:8080;
            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;
        }
    }

    # Optional HTTPS server block for example2.com
    server {
        listen       443 ssl;
        server_name  example2.com;

        ssl_certificate     /path/to/cert.pem;
        ssl_certificate_key /path/to/key.pem;

        location / {
            proxy_pass http://localhost:9443;
            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;
        }
    }
}
  1. 설명
    • listen 80;listen 443 ssl;은 각각 HTTP와 HTTPS 요청을 수신하는 설정입니다.
    • server_name은 해당 서버 블록이 처리할 도메인을 지정합니다.
    • location / 블록 내의 proxy_pass 디렉티브는 요청을 지정된 포트로 전달합니다.
    • proxy_set_header 디렉티브는 원본 요청의 헤더를 전달하는 데 사용됩니다.
  2. NGINX 설정 테스트 및 재시작
    • 설정 파일을 저장한 후, 다음 명령어를 사용하여 설정 파일에 오류가 없는지 확인합니다.

      sudo nginx -t
    • 설정 파일에 오류가 없다면, NGINX를 재시작하여 변경 사항을 적용합니다.

      sudo systemctl restart nginx

이 설정을 통해 특정 도메인에 들어오는 요청을 지정된 포트로 프록시할 수 있습니다. 필요한 도메인과 포트 조합에 따라 서버 블록을 추가로 구성하면 됩니다.

#NGINX #PROXY_PASS #프록시 #프록시패스

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.

보내는 중입니다..

로그인하세요.

계정 내용을 잊으셨나요 ?