用于容器 WebSocket 的 Azure WebApp 无法正常工作 - SAFE/ElmishBridge

标签 azure docker websocket

我一直在开发一个从 SAFE 堆栈模板构建的项目,当我将其构建到 Docker 容器并在本地运行时,一切都成功运行。

使用 Azure WebApp for Container,容器成功附加和部署,并且我能够按预期从 URL 加载应用程序。 [服务器正在响应客户端应用程序]

问题是 WebSocket 在部署后就无法工作,但当我在本地运行容器时它们就可以正常工作。

我已经对所有这些进行了很多研究并尝试了很多不同的事情,但没有成功。我可以分享更多,但我主要是看看是否有人遇到过这种情况。

我确实运行了这个:

az webapp config set --web-sockets-enabled true --name MyAppName --resource-group MyResourceGroup

根据这里的建议:https://social.msdn.microsoft.com/Forums/azure/en-US/036f9c3d-16dc-4e52-b943-5eb1afed824f/enabling-websockets-on-a-web-app-for-containers-service

我可以确认默认情况下启用的 WebSockets 设置为 false,并且需要使用 CloudShell 将其设置为 true。

这令人沮丧,因为我无法获得以下内容之外的任何信息:

WebSocket connection to 'wss://xxx.azurewebsites.net/socket/init' failed: Error during WebSocket handshake: Unexpected response code: 503

我不想一开始就过度分享有关代码的细节,除非要求有帮助,因为在本地容器中运行时一切正常。它确实感觉很奇怪,像是与 Azure 设置相关的东西,或者可能是某种与端口相关的应用程序设置等。

此外,这确实感觉不是 SAFE-template 或 Elmish-Bridge 的一个方面,但任何使用 Docker 容器在 Azure 上成功部署此组合的人都可能对这个问题有直接的了解。它似乎比这个特定用法更广泛,但与 Azure 上的容器/Websocket 使用相关。

感谢任何帮助。谢谢。

最佳答案

运行 Linux 容器的 Azure WebApp 似乎不完全支持 WebSocket: https://github.com/aspnet/AspNetCore/issues/10370

关于用于容器 WebSocket 的 Azure WebApp 无法正常工作 - SAFE/ElmishBridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58794149/

相关文章:

sql-server - 尝试使用mssql-cli尝试将数据库附加到Linux上的Docker Engine的Linux上的Microsoft SQL Server时出现“无法打开物理文件”错误

docker-machine - 无法连接到休息网址

azure - Azure Devops YAML 管道中的手动触发阶段

使用 Avocado Rest api 从 yammer 提取数据的 C# 代码

asp.net - Azure Web App 上的 URL 重写提供程序

ruby-on-rails - Ruby on Rails 为 SSL 连接正确配置 faraday http 客户端

javascript - Node.js 服务器不工作

javascript - 使用 Node.js 和 Socket.io 实时更新大型 HTML 内容

java - 使用 Spring 4 WebSocket 从 Java 推送消息

Azure DevOps Azure PowerShell 任务输出变量 - 无法将值传递到第三阶段