nginx는 역방향 프록시 서버로 쉽게 구성할 수 있습니다.
server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header host $host:80; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header via "nginx"; } }
그러나 nginx의 수신 포트가 기본 포트 80이 아닌 경우 포트 81과 같은 다른 포트로 변경하세요.
백엔드 서버에서 request.getserverport()는 올바른 포트를 얻을 수 없으며 반환된 값은 여전히 80입니다.
response.sendredirect()에서 클라이언트가 올바른 리디렉션 URL을 얻지 못할 수 있습니다.
올바른 구성 방법을 자세히 살펴보겠습니다.
Add nginx 가상 호스트
nginx를 전달하려면 물론 nginx를 구성해야 합니다. 가상 호스트 구성을 추가하면 nginx의 기능이 향상될 수 있습니다. 먼저 nginx 구성 파일을 살펴보세요. 작성자의 nginx 파일은 /etc/nginx/nginx.conf에 있습니다. 위 그림에서 볼 수 있듯이 nginx는 마지막에 vhosts.d 디렉터리에 구성 파일을 소개합니다. 그런 다음 /etc/nginx/vhosts.d 디렉토리에 .conf 접미사가 있는 파일을 생성해야 합니다(디렉토리가 없으면 직접 생성해야 합니다).
nginx는 80이 아닌 포트 전달을 수행합니다.
전달하려면 nginx의 Proxy_pass 구성 항목을 사용할 수 있습니다. nginx는 포트 80을 수신하고 요청을 받은 후 이를 전달할 URL로 전달합니다. 구체적인 구성은 다음과 같습니다.
server { server_name www.test.com listen 80; location / { proxy_pass http://127.0.0.1:8080; } }
네, 그렇게 간단합니다. 포트포워딩 설정의 핵심입니다.
그러나 실제 IP를 획득해야 하는 업체를 만나면 실제 IP에 대한 구성도 추가해야 합니다.
server { server_name www.test.com listen 80; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header host $host:80; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } }
proxy_set_header 이 구성은 http 요청 헤더를 변경하는 것입니다. Host는 요청의 호스트 이름이고, x-real-ip는 요청의 실제 IP이며, x-forwarded-for는 요청을 시작한 사람을 나타냅니다.
위 내용은 Nginx 서버에서 80이 아닌 포트의 포트 전달을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!