포트에 대한 Nginx 역방향 프록시 문제
- WBOY원래의
- 2016-08-08 09:32:351085검색
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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
성명:본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.