Nginx의 기본 역방향 포트는 80이므로 프록시된 후 포트가 80이 되어 접속 오류가 발생하는 문제가 있습니다. 주된 이유는 Nginx 구성 파일의 호스트 구성에 응답 포트가 설정되어 있지 않기 때문입니다.
관련 구성 파일은 다음과 같습니다.
proxy_pass http://ime-server/ime-server;
proxy_set_header 호스트 $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header >
위와 같이 호스트 구성에는 호스트만 있고 해당 포트가 없으므로 프록시되는 위치에서 잘못된 포트를 가져옵니다. 이 문서에서는 Java를 예로 들어 설명합니다.
String Scheme = httpRequest.getScheme();
String serverName = httpRequest.getServerName () ;
int port = httpRequest.getServerPort();
//서비스 요청 주소
문자열 requestURI = 구성표+": // "+serverName+":"+port+"/ime-server/rest/"+serviceName+"/wmts";
이때 획득한 포트는 80이지만 nginx 포트는 Listen하고 있습니다. ~는 9090입니다. 이 오류는 나를 매우 우울하게 만듭니다. 따라서 nginx 구성 파일을 수정하고 Host 뒤의 값을 $host:$server_port로 변경합니다. 구성 파일은
location /ime-server입니다. {
-서버;
Proxy_set_header 호스트 $host:$server_port;
Proxy_set_header X-Real-IP $remote_addr;
Proxy_set_header X- Forwarded-For $proxy_add_x_forwarded_for;
}
nginx를 다시 시작합니다./nginx -s reload. 그런 다음 프록시 포트 정보가 올바른지 확인하세요
위 내용은 관련 내용을 포함하여 Nginx 리버스 프록시의 포트 문제를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.