Nginx 서버에서 80이 아닌 포트의 포트 전달을 구성하는 방법

WBOY
풀어 주다: 2023-05-20 15:04:18
앞으로
1876명이 탐색했습니다.

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 서버에서 80이 아닌 포트의 포트 전달을 구성하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿