Nginx は、HTTP/HTTPS プロトコル要求を処理できるだけでなく、TCP/UDP プロキシ経由で他のプロトコルを転送できる強力な Web サーバー ソフトウェアです。
以下では、Nginx を介して TCP/UDP プロキシ構成を実装する方法を紹介し、具体的なコード例を示します。
まず、次のコードを Nginx 構成ファイルに追加します。
stream { server { listen 80; proxy_pass backend:8080; } }
この構成では、TCP リクエストが転送される 80 ポートすべてが実装されます。バックエンド ホストのポート 8080 に接続します。バックエンドは、Nginx 構成ファイル内の IP アドレスまたは別のサーバーの名前である可能性があることに注意してください。
さらに、Nginx が TCP リクエストを監視するには、Nginx を起動するコマンドに -g 'daemon off;'
オプションを追加する必要があります。完全な起動コマンドは次のとおりです。
nginx -g 'daemon off;'
UDP プロキシの場合、Nginx はサードパーティ モジュール Stream Module を使用する必要があります。 Nginx をコンパイルするときに --with-stream オプションを追加し、次のコードを Nginx 構成ファイルに追加する必要があります:
stream { server { listen 53 udp; proxy_pass backend:53; proxy_timeout 1s; proxy_responses 1; } }
この構成では、すべての UDP ポート 53 リクエストがバックエンド ホストの 53 に転送されます。ポートでは、1 秒のタイムアウトが設定され、最大 1 つの応答結果が返されます。
上記の構成では、バックエンドは Nginx 構成ファイル内の IP アドレスまたは別のサーバーの名前になる可能性があることに注意してください。
最後に、完全な TCP および UDP プロキシ構成の例を示します。コードは次のとおりです。
events {} http {} stream { server { listen 80; proxy_pass backend:8080; } server { listen 53 udp; proxy_pass backend:53; proxy_timeout 1s; proxy_responses 1; } }
注意してください。上記の例のバックエンドは、Nginx 構成ファイル内の IP アドレスまたは別のサーバーの名前にすることができます。
概要
上記のサンプル コードを通じて、Nginx で TCP/UDP プロキシ構成を実装する方法を学びました。重要なポイントには、Stream Module モジュールの使用、listen や listen などのキーワードの追加が含まれます。 proxy_pass など。この記事が、皆さんが Nginx プロキシ構成を実装する際に役立つことを願っています。
以上がNginx TCP/UDP プロキシ構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。