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

Laravel Reverb在VPS中WebSocket连接失败求助

Laravel Reverb VPS环境WebSocket连接失败排查方案

本地环境Laravel Reverb的WebSocket连接正常,但VPS中连接失败,报错如下:

app-91M7mm_A.js:13 WebSocket connection to 'wss://dev.srv675327.hstgr.cloud/app/ubdzibtxkxbc1lnmciqq?protocol=7&client=js&version=8.4.0-rc2&flash=false' failed:

已尝试更换端口、排查防火墙和SSL但未解决,可按以下步骤逐一排查:

  • 确认Reverb服务状态

    1. 执行ps aux | grep reverb检查Reverb进程是否在运行
    2. 手动启动服务php artisan reverb:start,观察控制台是否有启动报错
    3. 查看Reverb日志文件storage/logs/reverb.log,定位运行时错误信息
  • 验证端口监听状态
    执行ss -tulpn | grep LISTEN,确认Reverb使用的端口(如6001)是否处于监听状态,且绑定地址为0.0.0.0(允许外部访问),而非127.0.0.1(仅本地可访问)

  • 检查反向代理配置(Nginx/Apache)
    若使用Nginx作为反向代理,需确保WebSocket转发规则正确:

    location /app {
        proxy_pass http://127.0.0.1:6001;
        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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    

    执行nginx -t验证配置语法,无误后重启Nginx。Apache环境需启用mod_proxy、mod_proxy_http、mod_proxy_wstunnel模块,并配置对应代理规则。

  • 核对Reverb环境变量配置
    检查.env文件:

    • REVERB_HOST需设置为VPS公网IP或域名,而非127.0.0.1
    • REVERB_PORT需与反向代理配置的后端端口一致
    • REVERB_SCHEME设为https(对应wss连接),同时确认SSL证书有效(可执行openssl s_client -connect dev.srv675327.hstgr.cloud:443验证)
  • 测试端口外部可达性
    使用curl模拟WebSocket握手请求:

    curl -I -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: dev.srv675327.hstgr.cloud" -H "Origin: https://dev.srv675327.hstgr.cloud" "https://dev.srv675327.hstgr.cloud/app/ubdzibtxkxbc1lnmciqq?protocol=7&client=js&version=8.4.0-rc2&flash=false"
    

    若请求失败,需检查VPS服务商的安全组/网络ACL是否开放了对应端口(包括Reverb服务端口和443端口)

  • 确认客户端连接配置
    检查前端代码中的Reverb连接参数,确保使用VPS域名而非本地地址:

    import { createReverbProvider } from '@laravel/reverb';
    
    createReverbProvider({
        authEndpoint: '/api/broadcasting/auth',
        host: 'dev.srv675327.hstgr.cloud',
        port: 443,
        scheme: 'wss',
    });
    
  • 排查SSL证书问题

    • 确认域名SSL证书未过期、域名匹配,且包含完整证书链
    • 生产环境避免使用自签名证书,若必须使用需在客户端信任该证书

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:05:07