Nginx を使用して WebSocket プロトコルのサポートを実装する方法
Nginx を使用して WebSocket プロトコルのサポートを実装する方法
WebSocket プロトコルは、Web アプリケーションで双方向通信を実装するプロトコルです。これにより、クライアントが最初に開始しなくても、サーバーがクライアントにアクティブにデータを送信できます。お願いです。従来の HTTP プロトコルと比較して、WebSocket プロトコルは待ち時間が短く、効率が高いため、高いリアルタイム要件を持つアプリケーション シナリオに適しています。この記事では、WebSocket プロトコルをサポートするリバース プロキシとして Nginx を使用する方法を紹介します。
Nginx は、負荷分散、リバース プロキシ、静的ファイル キャッシュなどのシナリオで使用できる、高性能のオープンソース リバース プロキシ サーバーです。 Nginx は、WebSocket プロトコルをサポートするためのいくつかのモジュールとディレクティブも提供します。以下は簡単な構成例です。
http { # 其他的http配置 map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; location /ws/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } }
上記の構成では、WebSocket 接続リクエストを処理するための /ws/
パスを定義します。 WebSocket リクエストは http://backend
アドレスにプロキシされます。 proxy_pass
ディレクティブはプロキシのバックエンド サーバー アドレスを設定するために使用され、proxy_http_version
ディレクティブはプロキシの HTTP プロトコル バージョンを設定するために使用されます。 proxy_set_header
ディレクティブは、リクエスト ヘッダー情報を設定するために使用されます。そのうちの Upgrade
と Connection
は必須であり、サーバーにプロトコルのアップグレードを実行するように通知するために使用されます。
上記の設定の map
ディレクティブは、クライアント要求ヘッダーの Upgrade
フィールドを $http_upgrade## にマップするために使用されることに注意してください。 # 変数を使用し、その値に基づいて
$connection_upgrade 変数を動的に設定します。これにより、リクエスト内に
Upgrade フィールドが見つかった場合、
Upgrade フィールドの値を
$connection_upgrade フィールドの値に設定できます。接続が閉じられます。
sudo service nginx start
var socket = new WebSocket("ws://yourdomain.com/ws/"); socket.onopen = function () { console.log("Connection established."); }; socket.onmessage = function (event) { console.log("Received message: ", event.data); }; socket.onclose = function () { console.log("Connection closed."); };
ws://yourdomain.com/ws/ を実際の WebSocket アドレスに置き換え、ブラウザの開発者ツールを開いて表示します。コンソール出力。正常に接続してメッセージを受信できれば、WebSocket プロトコルが Nginx で正常にサポートされていることを意味します。
以上がNginx を使用して WebSocket プロトコルのサポートを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。
