![인터페이스에 여러 IP 주소가 있는 경우 트래픽을 다른 포트로 리디렉션하도록 NGINX를 구성하는 방법](https://linux55.com/image/182105/%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%97%90%20%EC%97%AC%EB%9F%AC%20IP%20%EC%A3%BC%EC%86%8C%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%ED%8A%B8%EB%9E%98%ED%94%BD%EC%9D%84%20%EB%8B%A4%EB%A5%B8%20%ED%8F%AC%ED%8A%B8%EB%A1%9C%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%98%EB%8F%84%EB%A1%9D%20NGINX%EB%A5%BC%20%EA%B5%AC%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
단일 네트워크 인터페이스가 있는 Ubuntu 20.04 컴퓨터에는 3개의 IP 주소가 있습니다. 우리는 특정 포트에서 수신 대기하는 프로그램의 여러 인스턴스를 실행하고 하나의 인스턴스가 3개의 IP 주소 각각에서 수신 대기하도록 하려고 합니다.
instance1 <==> listening on localhost:8000 <===> network interface 1 (IP addr: 10.0.0.10)
instance2 <==> listening on localhost:8001 <===> network interface 1 (IP addr: 10.0.0.11)
instance3 <==> listening on localhost:8002 <===> network interface 1 (IP addr: 10.0.0.12)
이를 달성하기 위해 NGINX를 구성할 수 있습니까?
답변1
설명하는 구문을 따르는 한 nginx.conf에서 가상 서버를 원하는 수만큼 설정할 수 있습니다. 그리고 이를 수행하기 위해 3개의 프로세스를 설정하도록 nginx에 수동으로 지시할 필요가 없으며 nginx가 자체적으로 처리합니다.
답변2
이렇게 하려면 nginxconf의 수신 명령문에 IP 주소를 추가해야 합니다. 이와 같이
listen 10.0.0.10:8000;