java - WebSocket 握手期间出错 : Unexpected response code: 403

标签 java spring websocket cors spring-websocket

我已经使用 Spring Boot Application 实现了 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

我看到的唯一区别在于请求 header :

在它起作用的那个 - 来源:http://192.168.X.XYZ:8080

其中一个不起作用 - 来源:chrome-extension://omalebghpgejjiaoknljcfmglgbpocdp

我在 WebSocketConfig 类中所做的如下:

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

仍然工作。

您能否告知导致该错误的原因以及如何解决?

提前谢谢你。

最佳答案

您需要将您的 "chrome-extension://..." 来源配置为允许的来源,甚至 "*",否则会被服务器拒绝.

关于java - WebSocket 握手期间出错 : Unexpected response code: 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627017/

相关文章:

java - 从 PEM BASE64 编码的私钥文件中获取 RSA 私钥

java - 将 vector 转换为列表

java - 如何在actionBar菜单中强制显示3个点?

spring - spring 使用hibernate 的正确方法是什么

javascript - 在 JavaScript WebSocket 中隐藏 IP

node.js - HAProxy + WebSocket 断开连接

java - 开启枚举不导入类

java - Spring @Async 抽象在异常处理方面存在漏洞

java - 如何在 Java SE 11 中使用自定义注解?

python - ModuleNotFoundError : No module named 'geventwebsocket'