我有一个后端,我在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代理。
答案 0 :(得分:0)
原来是nginx的问题。
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
在服务器nginx.conf上已解决的问题