AWS websocket服务器:从浏览器连接时出错403,从Python出来很好

时间:2018-04-07 05:01:35

标签: javascript amazon-web-services amazon-ec2 websocket http-status-code-403

我在AWS EC2实例上部署了websocket服务器。我能够连接到这个websocket而没有任何Python脚本问题(使用websocket.create_connection),但是在Chrome中运行Javascript行var ws = new Websocket(.....)时遇到403错误:Error during WebSocket handshake: Unexpected response code: 403

我确保更改EC2实例上的安全组以允许所有入站和出站流量。

所有建议都赞赏!

编辑:弄清楚这里发生了什么。这是我的Go websocket服务器中的默认原点检查功能的问题。

1 个答案:

答案 0 :(得分:1)

这是gorilla / websocket包的服务器端问题。不得不添加这个CheckOrigin函数:

var upgrader = websocket.Upgrader{
    ReadBufferSize: 1024,
    WriteBufferSize: 1024,
    CheckOrigin: func(r *http.Request) bool {return true},
}