AWS websocket服务器:从浏览器连接时出现403错误,从Python很好
Posted
技术标签:
【中文标题】AWS websocket服务器:从浏览器连接时出现403错误,从Python很好【英文标题】:AWS websocket server: 403 error when connecting from browser, fine from 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 服务器中的默认来源检查功能的问题。
【问题讨论】:
请将您的完整解决方案作为答案发布,或删除问题。 【参考方案1】:这是 gorilla/websocket 包的服务器端问题。必须添加这个 CheckOrigin 函数:
var upgrader = websocket.Upgrader
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: func(r *http.Request) bool return true,
【讨论】:
以上是关于AWS websocket服务器:从浏览器连接时出现403错误,从Python很好的主要内容,如果未能解决你的问题,请参考以下文章
通过 HTTP 集成从 AWS Api Gateway 中的 websocket 提取 websocket 连接 ID 和其他详细信息
在 node.js 服务器上使用 nginx 时出现“websocket 连接无效”