ホームページ > 運用・保守 > Nginx > Nginx TCP/UDP プロキシ構成を実装する方法

Nginx TCP/UDP プロキシ構成を実装する方法

王林
リリース: 2023-11-08 15:14:07
オリジナル
2248 人が閲覧しました

Nginx TCP/UDP プロキシ構成を実装する方法

Nginx は、HTTP/HTTPS プロトコル要求を処理できるだけでなく、TCP/UDP プロキシ経由で他のプロトコルを転送できる強力な Web サーバー ソフトウェアです。

以下では、Nginx を介して TCP/UDP プロキシ構成を実装する方法を紹介し、具体的なコード例を示します。

  1. TCP プロキシの構成

まず、次のコードを Nginx 構成ファイルに追加します。

stream {
    server {
        listen        80;
        proxy_pass    backend:8080;
    }
}
ログイン後にコピー

この構成では、TCP リクエストが転送される 80 ポートすべてが実装されます。バックエンド ホストのポート 8080 に接続します。バックエンドは、Nginx 構成ファイル内の IP アドレスまたは別のサーバーの名前である可能性があることに注意してください。

さらに、Nginx が TCP リクエストを監視するには、Nginx を起動するコマンドに -g 'daemon off;' オプションを追加する必要があります。完全な起動コマンドは次のとおりです。

nginx -g 'daemon off;'
ログイン後にコピー
  1. UDP プロキシの構成

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 アドレスまたは別のサーバーの名前になる可能性があることに注意してください。

  1. 完全な例

最後に、完全な 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート