Laravel Valet部署API+Reverb广播至SPA遇404错误求助
问题解决方案
核心问题分析
报错Pusher error: Not found及请求路径http://ws.mydomain.test/apps//events里的空值段,说明两个关键问题:
- 你的
PUSHER_APP_ID环境变量未正确配置,导致API请求路径拼接异常 - 需要确保Valet代理完整转发Reverb的HTTP API请求(
/apps路径)和WebSocket连接(/app路径)
步骤1:修正Valet代理配置
确保Valet将ws.mydomain.test的所有请求(HTTP+WebSocket)完整转发到Reverb服务端口,重新执行并重启Valet:
valet proxy ws.mydomain.test http://localhost:8080 valet restart
步骤2:补全环境变量配置
在API项目的.env文件中,完整配置Reverb相关变量(重点补全PUSHER_APP_ID等核心参数):
# 广播驱动配置 BROADCAST_DRIVER=pusher # Pusher兼容配置(Reverb基于Pusher协议) PUSHER_APP_ID=your-reverb-app-id # 自定义ID,比如"12345" PUSHER_APP_KEY=your-reverb-app-key # 自定义密钥,比如"my-reverb-key" PUSHER_APP_SECRET=your-reverb-app-secret # 自定义密钥,比如"my-reverb-secret" PUSHER_HOST=ws.mydomain.test PUSHER_PORT=80 PUSHER_SCHEME=http PUSHER_APP_CLUSTER=mt1 # 可留空,Reverb不强制要求 # Reverb专属配置 REVERB_APP_ID="${PUSHER_APP_ID}" REVERB_APP_KEY="${PUSHER_APP_KEY}" REVERB_APP_SECRET="${PUSHER_APP_SECRET}" REVERB_HOST="${PUSHER_HOST}" REVERB_PORT="${PUSHER_PORT}" REVERB_SCHEME="${PUSHER_SCHEME}"
步骤3:验证配置有效性
- 重启Reverb服务:
php artisan reverb:start - 手动测试HTTP API可达性(替换
your-reverb-app-id为你设置的ID):
如果返回JSON格式的响应(而非404),说明代理和配置生效。curl http://ws.mydomain.test/apps/your-reverb-app-id/events
步骤4:前端Echo配置确认
确保前端Echo配置匹配后端参数:
import Echo from 'laravel-echo'; import Pusher from 'pusher-js'; window.Pusher = Pusher; window.Echo = new Echo({ broadcaster: 'pusher', key: 'your-reverb-app-key', // 与.env中的PUSHER_APP_KEY一致 wsHost: 'ws.mydomain.test', wsPort: 80, forceTLS: false, disableStats: true, });
内容的提问来源于stack exchange,提问作者Stetzon
相关产品推荐
相关产品推荐

