Webソケット接続(WSS)を設定しようとしています。私のドメインはSSL(certbot)を使用し、Nginxで駆動されます。ファイルを構成する方法がわからない/etc/nginx/sites-available/domain.com
。
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
...
}
構成ブロックに以下を追加しました。
location /websocket {
proxy_pass https://domain.com;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
以下を介して接続する場合wss://domain.com/
:
WebSocket connection to 'wss://domain.com/' failed:
Error during WebSocket handshake: Unexpected response code: 200
ほとんどの例ではnodejsフレームワークを使用してウェブサイトを提供していますが、私はPHPを使用しています。
ベストアンサー1
/websocket
Webソケットエンドポイントは、提供されたnginx構成でサーバー内でホストされるように構成されていますが、ルートURLに接続しようとしていますwss://domain.com
。
アップグレード前に、Websocket接続は通常のHTTP(この場合はTLSラッパーを使用)セッションでしたので、サービスへのアクセスに使用されるURLにすべての関連パス指定子が含まれていることを確認する必要がありますwss://domain.com/websocket
。