ホームページ  >  記事  >  運用・保守  >  リアルタイム通信を実現するための Nginx リバース プロキシ Websocket 構成チュートリアル

リアルタイム通信を実現するための Nginx リバース プロキシ Websocket 構成チュートリアル

WBOY
WBOYオリジナル
2023-07-04 08:19:361720ブラウズ

リアルタイム通信を実現するNginxリバースプロキシWebsocket設定チュートリアル

Websocketは、リアルタイム通信を実現できる長時間接続をベースとしたプロトコルであり、Nginxリバースプロキシの機能と組み合わせることで、より効率的に管理することができます。そしてWebsocketリクエストを配信します。この記事では、Websocket のリアルタイム通信を実装するために Nginx リバース プロキシを構成する方法を紹介します。

  1. Nginx がインストールされていることを確認する
    まず、Nginx がサーバーにインストールされていることを確認します。インストールされていない場合は、次のコマンドを使用してインストールできます。

    sudo apt-get update
    sudo apt-get install nginx
  2. Nginx 構成ファイルを変更する
    テキスト エディターを使用して、通常は次の場所にある Nginx 構成ファイルを開きます。 /etc/nginx/nginx.conf または /etc/nginx/conf.d/default.conf。次のように変更します。

    server {
    listen 80;
    server_name yourdomain.com;
    
    location /websocket {
       proxy_pass http://backend;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "Upgrade";
    }
    }

    上記の構成では、websocket という名前の場所を定義し、backend という名前の場所にリクエストをプロキシします。 ## のバックエンド サーバー。 yourdomain.combackend は独自のドメイン名とバックエンド サーバー アドレスに置き換える必要があることに注意してください。

さらに、Nginx が Websocket 接続を正しく処理できるように、Upgrade と Connection という 2 つのプロキシ リクエスト ヘッダーも設定しました。

  1. Nginx を再起動します
    設定ファイルの変更が完了したら、保存してテキスト エディタを終了します。次に、次のコマンドを使用して Nginx を再起動します。

    sudo service nginx restart
  2. Websocket 接続のテスト
    これで、Websocket プロトコルをサポートする任意のクライアント アプリケーション (ブラウザーやターミナル ツールなど) を使用して、Websocket サーバーをテストできるようになります。 。ドメイン名が yourdomain.com であると仮定して、次のコードを使用してテストします。
const socket = new WebSocket('ws://yourdomain.com/websocket');

socket.onopen = () => {
   console.log('连接已建立');
};

socket.onmessage = (event) => {
   console.log('收到消息:', event.data);
};

socket.onclose = () => {
   console.log('连接已关闭');
};

socket.onerror = (error) => {
   console.error('发生错误:', error);
};

上記のコードを JavaScript をサポートする環境 (ブラウザなど) に貼り付けて実行します。開発者ツール コンソール、または Node.js を使用して実行します。接続が確立されたログが表示される場合は、Nginx 構成と Websocket サーバーが適切に動作しています。

まとめ
Nginx リバースプロキシの設定により、Websocket リクエストをバックエンドサーバーにプロキシすることで、リアルタイム通信機能を実現します。この記事では、Nginx を構成し、JavaScript コードを使用して Websocket 接続をテストする方法について説明します。この記事が Nginx リバース プロキシ Websocket の理解と適用に役立つことを願っています。

以上がリアルタイム通信を実現するための Nginx リバース プロキシ Websocket 構成チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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