1. ホーム
  2. java

[解決済み] WebSocket のハンドシェイク中にエラーが発生しました。予期しないレスポンスコードです。403

2022-02-08 23:15:19

質問

を実装しています。 ウェブソケット Spring Bootアプリケーション で、クローム拡張機能''でws接続をテストしようとすると、以下のようなエラーメッセージが表示されます。 スマートウェブソケットクライアント '. しかし、Spring Bootアプリケーションをローカルで実行する場合は、問題ありません。

WebSocket connection to 'ws://192.168.X.XYZ:8080/test' failed: 
Error during WebSocket handshake: Unexpected response code: 403

私が見た唯一の違いは、Requestヘッダです。

動作したものでは、Origin: http://192.168.X.XYZ:8080

動作しないもの - Origin:chrome-extension://omalebghpgejjiaoknljcfmglgbpocdp

でやったことは WebSocketConfig クラスは以下の通りです。

@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(myHandler(), "/test").setAllowedOrigins("http://192.168.X.XYZ:8080");
}

で、今でも ない が動作します。

このエラーの原因と対処法を教えてください。

よろしくお願いします。

どのように解決するのですか?

を設定する必要があります。 "chrome-extension://..." を許可されたオリジンとして、あるいは "*" そうでない場合は、サーバーによって拒否されます。