Signalr无法与https一起使用WebSocket握手期间出错:意外的响应代码:200

时间:2018-11-24 23:23:37

标签: websocket signalr angular6 signalr-hub

我有一个后端,我在websocket中使用signalr。当客户端和后端使用http时,一切正常。

然后我切换到https。现在,我在浏览器中看到此错误:

WebSocket connection to 'wss://example.com/chatHub?id=mKk-uj0P0_7WsLFXjXhskA' failed: Error during WebSocket handshake: Unexpected response code: 200

POST https://example.com/chatHub?id=HSwLlWtJGpBP0Dib6sHobQ 404 (Not Found) 

奇怪的是,即使我看到此错误,在Edge聊天上也能正常工作(在chrome和firefox上不行)。

这是怎么回事,我该如何解决? 客户端是角度为6(用于集线器连接的@ aspnet / signalr) 后端是dotnet

编辑:我忘了提一下,我的后端和客户端都由nginx代理。

1 个答案:

答案 0 :(得分:0)

原来是nginx的问题。

proxy_set_header  Upgrade $http_upgrade;
proxy_set_header  Connection "Upgrade";

在服务器nginx.conf上已解决的问题