Java WebSocket握手期间出错:意外响应代码:403

Java WebSocket握手期间出错:意外响应代码:403,java,spring,websocket,cors,spring-websocket,Java,Spring,Websocket,Cors,Spring Websocket,我已经使用Spring Boot应用程序实现了websocket,并且在尝试使用chrome扩展“Smart websocket client”测试ws连接时出现以下错误消息。 但是,我在本地运行Spring引导应用程序时没有问题 WebSocket connection to 'ws://192.168.X.XYZ:8080/test' failed: Error during WebSocket handshake: Unexpected response code: 403 我看到的唯

我已经使用Spring Boot应用程序实现了websocket,并且在尝试使用chrome扩展“Smart websocket client”测试ws连接时出现以下错误消息。 但是,我在本地运行Spring引导应用程序时没有问题

WebSocket connection to 'ws://192.168.X.XYZ:8080/test' failed: 
Error during WebSocket handshake: Unexpected response code: 403
我看到的唯一区别是请求头:

在其工作原理之一-来源:

在一个它不工作-来源:铬-extension://omalebghpgejjiaoknljcfmglgbpocdp

我在WebSocketConfig类中所做的如下:

@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(myHandler(), "/test").setAllowedOrigins("http://192.168.X.XYZ:8080");
}
而且仍然不起作用

您能告诉我这个错误的原因是什么以及如何修复它吗


提前感谢。

您需要配置您的
“chrome-extension://...“
origin作为允许的origin,甚至是
”*“
,否则服务器会拒绝它。

在更新到spring boot 2.4时,它还需要:

 @Bean
public WebMvcConfigurer corsConfigurer() {
    return new WebMvcConfigurer() {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**").allowedOrigins("*");
        }
    };
}
和配置类上的@EnableAutoConfiguration。

setAllowedOrigins(“*”);修正了这个问题。谢谢