You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

共享主机部署WebSockets时应使用什么URL建立连接?

排查解决步骤

  • 端口权限校验
    共享主机默认不会开放80/443之外的公网端口,即使账户支持WebSocket功能,也需要先联系服务商确认8082端口的入站、出站规则已对公网开放,且你有权限在该端口绑定自定义服务。
  • 端口复用配置
    若无法开放自定义端口,需通过Web服务反向代理实现WebSocket路径复用,以Nginx为例,可新增如下配置将/ws路径的请求转发至本地运行的8082端口服务:
    location /ws {
      proxy_pass http://127.0.0.1:8082;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
    }
    
    配置生效后客户端连接地址改为wss://你的域名/ws即可,无需额外加端口。
  • SSL证书校验
    使用wss协议时,连接域名必须配置有效且匹配的SSL证书,直接使用IP连接会因SSL证书校验失败导致TLS握手终止。
  • 服务端状态校验
    登录共享主机执行netstat -tulpn | grep 8082,确认WebSocket服务进程正常运行且8082端口处于监听状态,排查是否存在进程被主机商自动回收、端口被其他进程占用的问题。
  • CDN/代理兼容校验
    若域名接入了CDN服务,需确认CDN已开启WebSocket支持,否则CDN会直接拦截WebSocket握手请求。

辅助排查代码

可在现有代码中新增错误监听,获取更精准的报错信息:

  • 服务端新增错误日志:
wss.on('error', (err) => {
  console.error('WebSocket服务错误:', err);
});
  • 客户端新增错误日志:
ws.addEventListener('error', (err) => {
  console.error('连接错误详情:', err);
});

内容的提问来源于stack exchange,提问作者Daniel Jungwirth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:57:04