Java WebSocket握手期间出错:意外响应代码:403
我已经使用Spring Boot应用程序实现了websocket,并且在尝试使用chrome扩展“Smart websocket client”测试ws连接时出现以下错误消息。 但是,我在本地运行Spring引导应用程序时没有问题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 我看到的唯
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(“*”);修正了这个问题。谢谢