docker 无法使用WebSockets转发请求

taor4pac  于 2023-04-29  发布在  Docker
关注(0)|答案(1)|浏览(172)

我正在尝试打开从React前端到运行Docker镜像的Azure应用服务的WebSocket隧道。Docker镜像很简单。NET Core 7.0应用程序,支持WebSockets。隧道从guacamole-common-js库发起。从Postman打开隧道可以工作,但不能在浏览器中打开。我已经研究了CORS和AllowedOrigin,但没有任何解决方案。
Azure上的日志显示以下内容:
无法将请求转发到http://172.16.0.2。遇到一个系统。Net.WebSockets.33之后出现WebSocketException异常。194ms,消息:服务器返回了状态代码“403”,而状态代码“101”是预期的。。检查应用程序日志以验证应用程序是否正确处理HTTP流量。
Guacamole正在返回错误代码519。
任何想法可能导致这个问题吗?我不确定这是Azure的问题,因为我也试过在另一个主机上运行Docker镜像,但没有成功。应用程序在本地运行时按预期工作(非容器化)。
从React前端到服务的常规HTTP GET请求工作正常。

db2dz4w8

db2dz4w81#

我已经找到了问题所在。最初,我们尝试使用环境变量在WebSocketOptions上设置AllowedOrigins。然而,不知什么原因,这种方法并没有奏效。在确认没有设置AllowedOrigin值后,我能够解决这个问题并使其工作。

相关问题