我在 AWS EC2 实例上部署了 Websocket 服务器。我能够通过 Python 脚本(使用 websocket.create_connection)连接到此 websocket,没有任何问题,但在运行 Javascript 行 var ws = new Websocket(.....)
时收到 403 错误在 Chrome 中:Error during WebSocket handshake: Unexpected response code: 403
。
我确保更改 EC2 实例上的安全组以允许所有入站和出站流量。
感谢所有建议!
编辑:弄清楚这里发生了什么。这是我的 Go websocket 服务器中默认来源检查功能的问题。
最佳答案
这是 gorilla/websocket 包的服务器端问题。必须添加此 CheckOrigin 功能:
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: func(r *http.Request) bool {return true},
}
关于javascript - AWS websocket 服务器 : 403 error when connecting from browser, 来自 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49704022/