客服系統即時通訊Nginx配置支持WebSocket

如果遇到搭建好客服系統後,發消息不能即時通知推送,那就是webscoket部分沒有配置正確
 
在反向代理的配置塊裏
增加以下兩句
 
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

 

  1. proxy_set_header Upgrade $http_upgrade;
    1. 這個指令設置代理服務器將請求頭中的 "Upgrade" 字段的值設爲客戶端請求頭中的相應值。"Upgrade" 是 HTTP/1.1 協議中的一個頭部字段,用於指定要升級到的協議。在 WebSocket 連接中,客戶端會在請求頭中包含 "Upgrade: websocket",表示希望升級到 WebSocket 協議。
    2. $http_upgrade 是一個 Nginx 變量,它包含客戶端請求頭中 "Upgrade" 字段的值。通過將代理服務器的 "Upgrade" 字段設置爲相同的值,Nginx 就能正確地轉發 WebSocket 的 "Upgrade" 請求。
  2. proxy_set_header Connection "upgrade";
    1. 這個指令設置代理服務器將請求頭中的 "Connection" 字段的值設爲 "upgrade"。"Connection" 字段指示客戶端請求是否需要保持持久連接。在 WebSocket 連接中,客戶端通常在請求頭中包含 "Connection: upgrade",表示希望與服務器建立持久連接,並請求升級到 WebSocket 協議。
    2. 將代理服務器的 "Connection" 字段設置爲 "upgrade" 使得 Nginx 能夠正確地識別客戶端請求,從而進行協議升級。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章