ホームページ  >  記事  >  運用・保守  >  Nginxサーバーで80以外のポートのポート転送を構成する方法

Nginxサーバーで80以外のポートのポート転送を構成する方法

WBOY
WBOY転載
2023-05-20 15:04:181833ブラウズ

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 を取得できない可能性があります。
正しい構成方法を詳しく見てみましょう:

nginx 仮想ホストの追加

Nginxサーバーで80以外のポートのポート転送を構成する方法

Do nginx For転送には、もちろん nginx を設定する必要があります。 nginx の機能は、仮想ホスト構成を追加することで強化できます。まず、nginx 設定ファイルを見てください。作者の nginx ファイルは /etc/nginx/nginx.conf にあります。上の図からわかるように、nginx は最後に vhosts.d ディレクトリに構成ファイルを導入します。次に、.conf サフィックスを持つファイルを /etc/nginx/vhosts.d ディレクトリに作成する必要があります (ディレクトリが存在しない場合は、自分で作成する必要があります)。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。