リアルタイム通信を実現するNginxリバースプロキシWebsocket設定チュートリアル
Websocketは、リアルタイム通信を実現できる長時間接続をベースとしたプロトコルであり、Nginxリバースプロキシの機能と組み合わせることで、より効率的に管理することができます。そしてWebsocketリクエストを配信します。この記事では、Websocket のリアルタイム通信を実装するために Nginx リバース プロキシを構成する方法を紹介します。
Nginx がインストールされていることを確認する
まず、Nginx がサーバーにインストールされていることを確認します。インストールされていない場合は、次のコマンドを使用してインストールできます。
sudo apt-get update sudo apt-get install nginx
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.com
と backend
は独自のドメイン名とバックエンド サーバー アドレスに置き換える必要があることに注意してください。
さらに、Nginx が Websocket 接続を正しく処理できるように、Upgrade と Connection という 2 つのプロキシ リクエスト ヘッダーも設定しました。
Nginx を再起動します
設定ファイルの変更が完了したら、保存してテキスト エディタを終了します。次に、次のコマンドを使用して Nginx を再起動します。
sudo service nginx restart
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 サイトの他の関連記事を参照してください。