【问题标题】:AWS websocket server: 403 error when connecting from browser, fine from PythonAWS websocket服务器:从浏览器连接时出现403错误,从Python很好
【发布时间】:2018-09-17 03:28:40
【问题描述】:

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

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

感谢所有建议!

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

【问题讨论】:

  • 请将您的完整解决方案作为答案发布,或删除问题。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 2014-07-20
    相关资源
    最近更新 更多