我已经使用Spring Boot应用程序实现了WebSockets,并且在尝试使用chrome扩展"Smart websocket client"测试ws连接时出现以下错误消息。但是,在本地运行Spring Boot应用程序时没有问题。
WebSocket connection to 'ws://192.168.X.XYZ:8080/test' failed:
Error during WebSocket handshake: Unexpected response code: 403
我看到的唯一区别是在请求标头中:
在一个它的作品-起源:http://192.168.X.XYZ:8080
在其中一个中,它不起作用-来源:chrome-扩展名://malebghpgejjiaoknljcfmglgbpocdp
我在WebSocketConfig类中所做的如下:
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(myHandler(), "/test").setAllowedOrigins("http://192.168.X.XYZ:8080");
}
但还是不起作用。
你能告诉我这个错误的原因是什么以及如何修复吗?
先谢谢你。
2条答案
按热度按时间zbdgwd5y1#
您需要将您的
"chrome-extension://..."
源配置为允许的源,甚至"*"
,否则它将被服务器拒绝。zengzsys2#
更新到 Spring Boot 2.4时,还需要:
和配置类上的
@EnableAutoConfiguration
。