동일한 포트(443)를 통해 네트워크의 여러 서버에 대한 웹 액세스를 활성화하기 위해 nginx 프록시 서버를 실행하고 있습니다. 서버 중 하나(URL)가 다른 포트로 리디렉션하는 습관이 있는데, 해당 포트가 방화벽에서 열려 있지 않기 때문에 연결할 수 없습니다. nginx가 리디렉션을 거부하길 원합니다. 지금까지 작동하는 다음 항목이 있지만 제거할 다음 대상 URL은 광고 포트 8443입니다.
클라이언트는 다음 명령을 사용하여 443에서 4040으로 리디렉션됩니다.
server {
listen 8443 ssl http2;
server_name host_name;
location / {
proxy_set_header Host $host;
proxy_pass https://internal_ip:4040/;
client_max_body_size 0;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
}
}
서버의 URL을 입력하면 url:4040으로 리디렉션되고 오류(404)가 발생합니다.
다음은 작동하지만 서버 포트(8443)를 URL에 알립니다.
server {
listen 8443 ssl http2;
server_name hostname;
proxy_set_header Host $host;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://internal_ip:4040/;
client_max_body_size 0;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
send_timeout 3600;
}
}
서버의 URL을 입력하면 url:8443으로 리디렉션되고 내부 서버가 표시됩니다. 8443을 추가하지 않고 포트를 변경하거나 추가하지 않고 단순히 내부 IP로 이동할 수 있습니까? 또한 브라우저에 /admin URL을 입력하면 첫 번째 설정이 작동하고 4040으로의 리디렉션을 건너뛰기 때문에 처음으로 /admin으로 리디렉션하면 도움이 됩니까?
내 질문이 명확하고 내가 하고 싶은 것이 무엇인지 알기를 바랍니다.