添加配置
location /websocket { proxy_pass http://127.0.0.1:8095/websocket; #注意:使用代理地址時末尾記得加上斜杠"/"。 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 600s; }
WebSockets應用程序會在客戶端和服務器之間建立一個長連接,使得開發實時應用很容易。HTTP的Upgrade協議頭機制用於將連接從HTTP連接升級到WebSocket連接,Upgrade機制使用了Upgrade協議頭和Connection協議頭。反向代理服務器在支持WebSocket協議方面面臨着一些挑戰。挑戰之一是WebSocket是一個逐段轉發(hop-by-hop)協議,因此當代理服務器攔截到來自客戶端的Upgrade請求時,代理服務器需要將自己的Upgrade請求發送給后端服務器,包括適合的請求頭。而且,由於WebSocket連接是長連接,與傳統的HTTP端連接截然不同,故反向代理服務器還需要允許這些連接處於打開(Open)狀態,而不能因為其空閑就關閉了連接。(https://blog.csdn.net/chszs/article/details/26369257)