に WebSocket サーバーがあり、ws://example.com/socket
暗号化された安全な接続に WSS を使用するように構成したいとします。
次に、WSS の構成例を示します。
-
SSL 証明書の生成: OpenSSL ツールを使用して自己署名 SSL 証明書を生成し、ファイルとして保存し
server.crt
ますserver.key
。 -
Nginx サーバーの構成: Nginx サーバーで SSL 証明書を構成します。Nginx 構成ファイルに、次の構成を追加します。
server { listen 443; server_name example.com; ssl on; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; location /socket { proxy_pass http://localhost:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
上記の構成では、SSL 証明書と秘密キー ファイルへのパスを および として指定しまし
/path/to/server.crt
た/path/to/server.key
。proxy_pass
一部はリクエストを WebSocket サーバーに転送する構成です。 -
クライアント側でプロトコル接続を使用します
wss://
。クライアント コードで、元のURL をプロトコル URLws://
に置き換えます。次に例を示します。wss://
const socket = new WebSocket('wss://example.com/socket');
を使用すると
wss://example.com/socket
、クライアントは WSS プロトコルを使用してサーバーに接続します。
構成が完了すると、クライアントがwss://
プロトコル を使用して接続するとexample.com/socket
、Nginx サーバーは暗号化に SSL 証明書を使用し、リクエストを WebSocket サーバーに転送して処理します。このようにして、WebSocket の安全な接続が実現されます。