客服系统即时通讯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 能够正确地识别客户端请求,从而进行协议升级。
posted @ 2024-01-08 15:57  唯一客服系统开发笔记  阅读(39)  评论(0编辑  收藏  举报