Wsをwssに変更する手順は何ですか?
Wssが通常のHTTPを介してアップグレードするのか、wssがHTTPSのみで機能するのか
webSocket = new WebSocket("ws://localhost:port/Esv/ocp");
wsをwssに変更すると、正常に動作します
webSocket = new WebSocket("wss://localhost:port/Esv/ocp");
次のエラーが表示されます。
接続確立のエラー:net :: ERR_SSL_PROTOCOL_ERROR
SSLを使用するかしないか
SSL証明書の問題 が発生している可能性があります。接続ポイントルールは、 要約 :
wss
接続オンhttps only
ws
接続オンhttp
andその逆:
https
は受け入れますwss only
http
は受け入れますws only
エラー
次の状況では、エラーが発生します(Firefoxでのテスト):
wss
接続をhttp
エンドポイントに接続する場合。私のテストでは、InvalidStateError:使用できない、または使用できなくなったオブジェクトを使用しようとしました
ws
接続をhttps
エンドポイントに接続する場合、エラーが発生しますSecurityError:操作は安全ではありません。
WebsocketのバイブルはRFC 6455です。セクションで 4.1.5 :
/ secure /が真の場合、クライアントは接続を開いてからハンドシェイクデータ[RFC2818]を送信する前に、接続上でTLSハンドシェイクを実行する必要があります。これが失敗した場合(たとえば、サーバーの証明書を検証できなかった場合)、クライアントはWebSocket接続に失敗しますにして、接続を中止する必要があります。そうでない場合、このチャネルでのそれ以降のすべての通信は、暗号化されたトンネル[RFC5246]を介して実行されなければなりません。
secureフラグはURIによって定義されます。セクション3はsecureとは何かを定義します
スキームコンポーネントが大文字と小文字を区別せずに「wss」に一致する場合、URIは「セキュア」と呼ばれます(「セキュアフラグが設定されている」と言われます)。
wss
を使用する場合:
https://...
):「セキュリティダウングレード」は許可されていませんws
を使用する場合:
http://...
)