ホームページ  >  記事  >  運用・保守  >  Nginx プロキシ マネージャーを使用して Websocket プロキシを実装する方法

Nginx プロキシ マネージャーを使用して Websocket プロキシを実装する方法

WBOY
WBOYオリジナル
2023-09-27 13:46:491431ブラウズ

如何使用Nginx Proxy Manager实现Websockets代理

Nginx プロキシ マネージャーを使用して Websockets プロキシを実装する方法

Websockets は、双方向通信を必要とするアプリケーションに適したリアルタイム通信プロトコルです。 Nginx Proxy Manager (略して NPM) は、複数のリバース プロキシ リソースの管理と構成に使用できる Nginx ベースのプロキシ サーバーです。この記事では、NPM を使用して Websocket プロキシを実装する方法を紹介し、具体的なコード例を示します。

  1. NPM のインストール

まず、NPM をインストールする必要があります。 Ubuntu システムでは、次のコマンドを使用してインストールできます。

sudo apt-get update
sudo apt-get install npm
  1. Configure NPM

NPM をインストールした後、いくつかの構成を実行する必要があります。まず、NPM インストール ディレクトリ (通常は /usr/share/nginx/html) に移動し、config.json という名前のファイルを作成してプロキシ サーバーを構成します。

config.json ファイルでは、複数のプロキシ サーバーを構成できます。この例では、受信したすべての Websocket リクエストを指定されたターゲット サーバーにプロキシするように、websocket という名前のプロキシ サーバーを構成します。

以下は設定の例です:

{
  "proxies": {
    "websocket": {
      "name": "Websockets Proxy",
      "ssl": false,
      "host": "ws://localhost:8000",
      "port": 80,
      "path": "/websocket",
      "proxyType": "websocket"
    }
  }
}

上記の設定では、プロキシ サーバーの名前、SSL を使用するかどうか、ターゲット サーバーのホストとポート、 URL パスとプロキシ タイプ。

  1. NPM の開始

構成が完了したら、NPM を開始できます。ターミナルで NPM インストール ディレクトリを入力し、次のコマンドを実行します。

sudo npm start

この時点で、NPM はデフォルトのポート 80 でリッスンし、要求のプロキシを開始します。

  1. Websocket プロキシのテスト

NPM の構成と起動が完了したので、Websockets プロキシが適切に動作しているかどうかをテストしてみましょう。

まず、Node.js を使用して構築できる簡単な Websocket サーバーを準備します。サンプル コードは次のとおりです。

const WebSocket = require('ws');

const wss = new WebSocket.Server({ port: 8000 });

wss.on('connection', ws => {
  ws.on('message', message => {
    console.log(`Received message: ${message}`);
    ws.send(`Echo: ${message}`);
  });

  ws.send('Connected to server.');
});

ターミナルで上記のコードを実行して、Websocket サーバーを起動します。

次に、ブラウザで NPM 管理インターフェイス (通常は http://localhost) にアクセスします。インターフェイスで、Add Proxy Host ボタンをクリックし、次の情報を入力します。

  • プロキシ ホスト名: localhost
  • プロキシ ポート: 80
  • プロキシ プロトコル: http
  • プロキシ タイプ: websocket
  • プロキシ宛先: localhost:8000

[保存] ボタンをクリックして保存します。構成。

これで、Websocket をサポートする任意のクライアントを使用して ws://localhost/websocket に接続し、メッセージを送信し、サーバーからの応答を受信できるようになります。

NPM プロキシ サーバーを介して、Websocket のプロキシ機能を実装することに成功しました。

概要

この記事では、Nginx Proxy Managerを使用してWebsocketのプロキシ機能を実装する方法を紹介します。 NPM を構成し、特定のコード例を使用することで、Websocket リクエストをプロキシできるプロキシ サーバーを正常に構築できました。この記事が NPM と Websockets プロキシの理解と使用に役立つことを願っています。

以上がNginx プロキシ マネージャーを使用して Websocket プロキシを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。