NGINX를 사용하여 포트 80에서 실행되는 애플리케이션에 http 요청을 전달하는 방법

NGINX를 사용하여 포트 80에서 실행되는 애플리케이션에 http 요청을 전달하는 방법

Ubuntu 서버가 실행 중입니다.
Glassfish는 포트 80(http) 및 443(https)에
Nginx는 포트 8080(http) 및 8081(https)에 있습니다.

목표는,
www.hostname01.comGlassfish에 액세스하려면,
www.hostname02.comNginx에 액세스하려면

문제는
Nginx 프록시 패스 구성을 사용하여 그렇게 하는 것이 가능합니까? 입니다. 아니면 다른 설정이 있나요?

기본 http 요청이 이동하는 포트 80/443에서 Nginx가 실행되고 있다는 답변이 표시됩니다. 그러나 내 환경에서는 Glassfish가 Nginx 이전에 실행 중이었고 해당 설정을 수정할 권한이 없으므로 현재 모든 요청이 진행됩니다. 포트 번호를 지정하지 않는 한 Glassfish로.
Glassfish 인스턴스를 제외한 다른 서버 구성을 편집할 수 있습니다.

감사해요

답변1

이를 달성하는 유일한 방법은 두 번째 IP 주소를 네트워크 인터페이스에 바인딩하고 Glassfish를 첫 번째 IP에 명시적으로 바인딩하고 nginx를 두 번째 IP에 바인딩하는 것입니다.
응용 프로그램이 수신 대기하는 즉시 0.0.0.0:80다른 응용 프로그램에 대해 포트가 차단됩니다.
이 작업을 수행하자마자 다음과 같은 지시문 bind의 매개변수를 사용하여 nginx에게 특정 주소만 수신하도록 지시할 수 있습니다 listen. listen 192.0.2.1:80 bind
이것은 구성 항목일 뿐만 아니라 IP 소켓 항목입니다.

관련 정보