azure - SignalR:Azure 虚拟机上的 WebSockets 错误 400

标签 azure websocket signalr virtual-machine signalr-hub

我在 Azure VM 上托管 WebSockets (SignalR) 应用程序,但在远程连接时遇到以下 400(错误请求)错误。

WebSocket connection to 'ws://xxx.cloudapp.net/signalr/connect?transport=webSockets&
clientProtocol=1.5&connectionToken=JMLk3b...&connectionData=%5B%7B%22name%22%3A%22
dashboard%22%7D%5D&tid=10' failed: Error during WebSocket handshake: 
Unexpected response code: 400

在虚拟机内本地访问应用程序时不会发生这种情况。

我怀疑这是一个代理问题,如 these 中突出显示的那样various articles

但是,我似乎找不到任何文章表明是否可以在 Azure VM 上实际托管 WebSockets 应用程序(我知道他们最近启用了 WS on Azure Websites ,但 VM 似乎还没有此功能) .

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

问题最终是在各个 ISP 的客户端使用代理服务器(例如 Squid),而不是在 Azure 端使用代理服务器。

关于azure - SignalR:Azure 虚拟机上的 WebSockets 错误 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325264/

相关文章:

javascript - socket.io 是否像 sockjs 一样具有原始 WebSocket 访问权限?

c# - SignalR 连接的吞吐量

c# - SignalR:检测 C# 客户端中的事件连接

azure - 如何修改 SQL Server 2016 或 Azure 中的时态表?

WSDL 的 Azure APIM 导入

html - WebSockets 有吞吐量限制吗?

javascript - 我对 HTTP 轮询、长轮询、HTTP 流和 WebSockets 的理解

Azure 容器处于终止状态,但状态为正在运行

c# - 我们是否应该对 C# 中从 Microsoft.Rest.ServiceClient 派生的客户端使用单例?

c# - Signalr 不发送给特定用户