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

生产环境下Laravel Reverb与React集成故障排查求助

生产环境Laravel Reverb广播404错误排查方案

1. 核对Reverb核心配置一致性

  • 确认.env中REVERB_APP_ID、REVERB_APP_KEY、REVERB_APP_SECRET与前端laravel-echo配置完全匹配,无大小写、空格差异
  • 检查REVERB_HOST设置为生产域名(不带http/https前缀,例如REVERB_HOST=your-prod-domain.com)
  • 验证config/reverb.php中host字段是否正确读取环境变量:'host' => env('REVERB_HOST', 'localhost')

2. 检查Apache的Reverb API转发规则

  • 尽管WebSocket连接返回101状态,仍需确认Apache是否将Reverb的HTTP API请求(非WebSocket)转发到Reverb服务,添加反向代理规则:
    ProxyPass /api/reverb http://127.0.0.1:8080/api/reverb
    ProxyPassReverse /api/reverb http://127.0.0.1:8080/api/reverb
    
  • 确保Apache已启用mod_proxy、mod_proxy_http、mod_proxy_wstunnel模块,且开启ProxyRequests On

3. 验证广播驱动配置

  • 打开config/broadcasting.php,确认默认驱动为'reverb',且reverb配置项的app_id、key、secret、host与.env完全一致
  • 检查广播事件的broadcastOn方法返回的频道名称,与前端echo.channel()/echo.private()订阅的频道完全匹配(私有频道需带private-前缀)

4. 排查Reverb服务运行状态

  • 执行php artisan reverb:status,确认服务正常监听指定端口(默认8080)
  • 查看storage/logs/reverb.log日志,排查是否存在连接权限、端口占用等错误
  • 确保以生产环境配置启动Reverb:php artisan reverb:start --env=production

5. 检查Nginx前端跨域与转发配置

  • 确认Nginx允许前端向后端Reverb API发送请求,添加跨域响应头:
    add_header Access-Control-Allow-Origin "https://your-frontend-domain.com";
    add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
    add_header Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With";
    
  • 确保Nginx未拦截/api/reverb路径,正确转发至后端Apache服务

6. 清除生产环境缓存

  • 执行以下命令清除配置与缓存:
    php artisan config:clear
    php artisan cache:clear
    
  • 重启Apache、Nginx及Reverb服务,确保所有配置变更生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:04:54