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

如何在OVH cloud-web-1主机上运行PHP websocket并解决连接失败问题

OVH Cloud Web 1 环境PHP Websocket连接失败排查步骤

1. 端口监听配置校验

  • 确认服务端启动时绑定的监听地址不是127.0.0.1,必须绑定0.0.0.0或者实例公网IP,否则外部请求无法访问
  • 执行netstat -tulpn | grep 你的端口号 确认端口处于LISTEN状态,对应的监听地址不是本地回环地址

2. 安全组规则配置

  • Cloud Web 1套餐默认仅开放80、443、22等常用端口,自定义端口需要主动在OVH控制台的实例安全组规则中添加入站规则,允许TCP协议对应端口的所有来源(0.0.0.0/0)访问
  • 安全组规则修改后有1-2分钟的生效延迟,修改后等待片刻再测试连接

3. 协议与反向代理配置

  • 如果你的站点已经开启HTTPS,浏览器会禁止从HTTPS页面发起非加密的ws请求,必须使用wss协议连接
  • 推荐用Nginx反向代理实现wss访问,不需要对外暴露自定义端口,也不需要单独给websocket服务配置SSL证书,在站点Nginx配置中添加以下规则即可:
    location /ws {
        proxy_pass http://127.0.0.1:你的websocket服务端口;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    
    配置完成后客户端直接用wss://你的域名/ws连接即可,同时规避跨域和SSL校验问题

4. 进程常驻配置

  • 直接通过SSH启动的PHP脚本会在SSH会话断开后自动终止,需要用nohup php 你的服务端脚本.php &、systemd配置服务或者screen/tmux托管进程,保证服务端进程后台常驻

5. 跨域配置检查

  • 服务端websocket逻辑中需要添加允许跨域的响应头,放行你的站点域名的来源请求,否则浏览器会直接拦截连接。如果使用Workerman、Swoole这类框架,直接在启动配置中添加允许的origin即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:12:00