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

Laravel+Pusher生产环境事件广播失效排查求助

Laravel广播事件VPS部署失效排查与修复

核心问题定位

本地运行正常但VPS生产环境失效,核心原因是WebSocket服务绑定地址与前端连接地址不匹配,同时存在配置细节错误导致事件无法正常广播。


分步修复方案

1. 调整WebSocket服务监听地址

如果使用Laravel Echo Server作为WebSocket服务:

  • 修改laravel-echo-server.json中的host字段为"0.0.0.0",让服务监听所有网卡(默认127.0.0.1仅允许本地访问):
    "host": "0.0.0.0"
    
  • 重启WebSocket服务:laravel-echo-server restart

2. 修正后端广播配置(broadcasting.php)

  • 确保.env中BROADCAST_DRIVER=pusher,不能是null或log
  • 保留pusher连接的host:127.0.0.1(后端向本地WebSocket服务推送事件),优化其他配置项:
    'pusher' => [
        'driver' => 'pusher',
        'key' => env('PUSHER_APP_KEY'),
        'secret' => env('PUSHER_APP_SECRET'),
        'app_id' => env('PUSHER_APP_ID'),
        'options' => [
            'encrypted' => false, // 本地WebSocket用http,关闭加密
            'host' => '127.0.0.1',
            'port' => 6001,
            'scheme' => 'http',
        ],
    ],
    

3. 修正前端Echo连接配置

前端必须连接VPS的公网IP,而非localhost:

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: import.meta.env.VITE_PUSHER_APP_KEY,
    wsHost: '你的VPS公网IP', // 替换为实际公网IP
    wsPort: 6001,
    forceTLS: false, // 非HTTPS环境关闭强制TLS
    disableStats: true,
    enabledTransports: ['ws'], // 简化传输方式,避免兼容问题
});

注:如果VPS使用HTTPS,需配置wss端口和证书,此处先以HTTP环境为例

4. 开放VPS防火墙/安全组

  • 对外开放6001端口(WebSocket服务端口):
    • UFW防火墙:ufw allow 6001/tcp && ufw reload
    • 云服务商安全组:添加入站规则,允许TCP 6001端口访问

5. 验证事件是否触发

事件的handle()方法仅用于队列任务,广播事件不会触发。要验证事件是否执行,在broadcastOn()中添加日志:

public function broadcastOn()
{
    \Log::info('MessageSent事件已触发,广播频道:chat.' . $this->message->room->id);
    return new PrivateChannel('chat.' . $this->message->room->id);
}

查看storage/logs/laravel.log,如果有对应日志,说明事件已正常触发;如果没有,检查控制器中broadcast()调用是否执行。

6. 检查WebSocket服务连接状态

  • 在VPS启动WebSocket服务后,观察控制台输出:前端连接时会显示New connection opened日志
  • 用curl测试服务可达性:curl http://你的VPS公网IP:6001,正常返回包含socket_id的JSON内容则说明服务运行正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:20:34