概述
我基于.NET CORE 3.1開發(fā)了一個signalr的web api程序度苔,我在本地以及公司測試服務(wù)器上測試都沒問題效拭,但是部署到客戶的服務(wù)器上就出現(xiàn)了錯誤暂吉。服務(wù)器都是windows server 2012。
WebSocket failed: Error during WebSocket handshake: Unexpected response code: 400
錯誤分析
這個錯誤很明顯是客戶機(jī)無法連接到我們的websockets服務(wù)缎患,并不是程序內(nèi)部發(fā)生了錯誤慕的,從日志中也能看到。
起初以為是redis的服務(wù)器或其他的配置問題挤渔,后反復(fù)確認(rèn)后业稼,還是有這個錯誤,所以推斷分析應(yīng)該是環(huán)境配置的問題蚂蕴。
后面經(jīng)過查詢和分析,signalr是需要服務(wù)器依賴websockets協(xié)議的俯邓。
安裝websockets協(xié)議
控制面板里打開“啟用或關(guān)閉windows功能“
安裝完了以后骡楼,不用重啟,測試成功;蕖鸟整!