【问题标题】:Signalr: WebSocket connection to 'wss://***': Error during WebSocket handshake: Unexpected response code: 502Signalr:WebSocket 连接到“wss://***”:WebSocket 握手期间出错:意外响应代码:502
【发布时间】:2014-05-02 09:35:53
【问题描述】:

我在我的 ASP.NET 4.5 站点和 IIS-8(启用 WebSockets)上使用带有 JS 客户端(WebSocket 传输)的 Signalr v2.0.2。在负载测试(使用 Selenium)之后,我可以在任何浏览器的控制台中看到下一个错误(*** 是我们的域名)。

[20:23:46 GMT+0400(俄罗斯标准时间)] SignalR:连接到 websocket端点 'wss:///connect?transport=webSockets&connection...6GkCoU%3D&State=1&connectionData=%5B%7B%22name%22%3A%22chat%22%7D%5D&tid=1'。 项目-FK0ZHh5_zUo_6I0Z725jUg2.js?ver=7.627:54 WebSocket 连接 到 'wss:///signalr/connect?transport=webSockets&connection...6GkCoU%3D&State=1&connectionData=%5B%7B%22name%22%3A%22chat%22%7D%5D&tid=1' 失败:WebSocket 握手期间出错:意外的响应代码: 502

即使在完成负载测试后,我也总是收到此错误。我从未见过此错误,也不知道原因。只有应用重启才能解决。

【问题讨论】:

    标签: asp.net websocket signalr


    【解决方案1】:

    看看这个:http://www.infoq.com/articles/Web-Sockets-Proxy-Servers

    这几乎可以肯定是因为没有使用 https (SSL)。普通 http 上的 Websocket 容易受到在 http 层运行的中间代理(通常是透明的)破坏连接的攻击。

    这在蜂窝网络或办公室网络中很常见,这些网络可能使用多个无线连接和代理,该代理在连接之间传播 http 请求。

    避免这种情况的唯一方法是始终使用 SSL - 这为 websocket 提供了最佳工作机会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 2019-11-26
      • 2019-09-01
      • 1970-01-01
      • 2020-09-19
      • 2020-11-16
      相关资源
      最近更新 更多