背景介绍
当我们启动客服服务后,通常可以通过IP地址:8081
(默认端口)的形式访问服务。虽然这种方式可以验证服务是否正常运行,但在实际生产环境中,我们希望:
- 通过域名访问,而不是IP地址
- 不需要在URL中显示端口号
- 确保WebSocket功能正常工作(用于实时通知)
- 联系微信:haotsh
- 演示网址:gofly.v1kf.com
配置步骤
1. 准备工作
确保已经:
- 解析了一个域名到服务器IP
- 安装了宝塔面板
- 客服服务已在8081端口正常运行
2. 配置反向代理(推荐使用伪静态方式)
不推荐直接使用宝塔面板的”反向代理”功能,因为:
- 默认配置缺少WebSocket支持的关键指令
- 会导致实时通知功能失效
推荐做法:将反向代理配置放在”伪静态”设置中:
- 登录宝塔面板
- 找到对应网站的设置
- 进入”伪静态”配置页面
- 粘贴以下配置代码:
location / {
proxy_pass http://127.0.0.1:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
3. 关键配置说明
这段配置中有两个关键指令支持WebSocket:
proxy_http_version 1.1
– 使用HTTP/1.1协议
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
这两行专门用于支持WebSocket协议升级
如果没有这些配置,虽然基本服务可以访问,但实时消息通知功能将无法工作。
4. 保存并测试
- 保存伪静态配置
- 通过域名访问测试(不带端口号)
- 验证实时通知功能是否正常
常见问题
Q:为什么不用宝塔自带的”反向代理”功能?
A:宝塔默认的反向代理配置缺少WebSocket支持指令,会导致实时功能失效。手动在伪静态中添加配置更为可靠和灵活。
Q:配置后实时消息仍不工作怎么办?
A:检查:
- 是否确实添加了WebSocket支持指令
- 防火墙是否放行了8081端口
- 客服服务是否正常运行
总结
通过这种方式配置后:
- 可以使用干净的域名访问(无端口号)
- WebSocket功能完整支持
- 实时消息通知正常工作
- 配置更简洁易于维护
记住,在配置域名访问时,不要”想当然”地简单设置反向代理,确保包含WebSocket支持的关键指令,这是保证客服系统全功能正常工作的关键。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END