Nginx 配置支持SignalR

    因爲SignalR將WebSocket做爲底層傳輸方式的優先實現,須要配置Nginx 支持WebSocket(詳見SignalR的介紹html

    瀏覽器兼容性測試:Chrome經過,360極速模式經過,360兼容模式不經過,Edge經過,IE 11 不經過。nginx

    建議使用Chrome,360極速模式,Edge。web

錯誤解決彙總(Nginx支持WebSocket反向代理promise

1  WebSocket connection to 'ws://localhost:8000/chat?id=a_' failed: Error during WebSocket handshake: Unexpected response code: 200瀏覽器

      緣由:未配置Nginx 支持WebSocket。服務器

      解決:nginx.conf文件location(包含SingalR服務端轉發)websocket

                添加如下3行socket

                 # 啓用支持websocket鏈接post

                proxy_http_version 1.1;  #若是沒有這句,會產生409錯誤測試

                proxy_set_header Upgrade $http_upgrade;

                proxy_set_header Connection "upgrade";

2    WebSocket connection to 'ws://localhost:8000/chat?id=QRhslq' failed: Error during WebSocket handshake: Unexpected response code: 409

       緣由:未知
       解決:nginx.conf文件location(包含SingalR服務端轉發)
                  添加 proxy_http_version 1.1;
3   POST http://localhost:8000/chat/negotiate 502 (Bad Gateway)
     緣由: proxy_pass的服務器沒有打開(>500錯誤代碼通常是服務器內部錯誤)。
     解決:打開proxy_pass的服務器便可。
4  Uncaught (in promise) Error: Failed to invoke 'send' due to an error on the server. HubException: Method does not exist.
     緣由:服務器端不存在方法名
     解決:connection.invoke('send', name, messageInput.value);  send方法名稱必須與服務器端一致( 不區分大小寫)。
相關文章
相關標籤/搜索