客服系统即时通讯Nginx配置支持WebSocket

如果遇到搭建好客服系统后,发消息不能即时通知推送,那就是webscoket部分没有配置正确

在反向代理的配置块里

增加以下两句

bash 复制代码
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
  1. proxy_set_header Upgrade $http_upgrade;:
  • 这个指令设置代理服务器将请求头中的 "Upgrade" 字段的值设为客户端请求头中的相应值。"Upgrade" 是 HTTP/1.1 协议中的一个头部字段,用于指定要升级到的协议。在 WebSocket 连接中,客户端会在请求头中包含 "Upgrade: websocket",表示希望升级到 WebSocket 协议。
  • $http_upgrade 是一个 Nginx 变量,它包含客户端请求头中 "Upgrade" 字段的值。通过将代理服务器的 "Upgrade" 字段设置为相同的值,Nginx 就能正确地转发 WebSocket 的 "Upgrade" 请求。
  1. proxy_set_header Connection "upgrade";:
  • 这个指令设置代理服务器将请求头中的 "Connection" 字段的值设为 "upgrade"。"Connection" 字段指示客户端请求是否需要保持持久连接。在 WebSocket 连接中,客户端通常在请求头中包含 "Connection: upgrade",表示希望与服务器建立持久连接,并请求升级到 WebSocket 协议。
  • 将代理服务器的 "Connection" 字段设置为 "upgrade" 使得 Nginx 能够正确地识别客户端请求,从而进行协议升级。
相关推荐
Vcaker8 分钟前
Linux学习25-harbor私有仓库部署
linux·运维·学习
醉颜凉40 分钟前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
不懂的浪漫1 小时前
ToDesk 连接 Linux 后分辨率过低的解决方法
linux·运维·数据库
姚不倒2 小时前
etcd 学习系列(七):排障指南 —— 常见问题与解决方案
运维·etcd
广州灵眸科技有限公司2 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
Lear2 小时前
Docker 私有仓库搭建与使用
运维·自动化运维
姚不倒3 小时前
etcd 学习系列(一):从业务需求出发,理解 etcd 是什么
运维·数据库·etcd
PHP实战开发录4 小时前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
迪康Defender4 小时前
政企内网终端安全建设:资产‑管控‑防护‑审计闭环能力拆解
运维·网络·安全·web安全·终端安全管理
Neighbor_OldY4 小时前
【实战复盘】文件上传漏洞检测与应急处置:校验绕过、图片马与WebShell的排查修复指南
运维·前端·web安全