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

如何在局域网中配置Laravel Reverb实现WebSocket共享?

局域网中配置Laravel Reverb实现跨设备WebSocket监听的解决方案

核心配置步骤

1. 修正Reverb的服务监听配置

修改项目根目录的.env文件,确保Reverb监听局域网可访问的地址,而非仅本地回环:

# 允许所有网卡监听(推荐),或直接填写服务器局域网IP(如192.168.1.100)
REVERB_HOST=0.0.0.0
REVERB_PORT=9909
# 局域网测试优先用http,确认正常后再切换https
REVERB_SCHEME=http

若后续启用HTTPS,补充证书路径配置:

REVERB_SCHEME=https
REVERB_SSL_CERT=/path/to/your/certificate.pem
REVERB_SSL_KEY=/path/to/your/private-key.pem

2. 前端Pusher连接参数硬编码局域网IP

前端代码必须明确指定Reverb的局域网IP和端口,不能依赖域名或默认配置。示例:

import Pusher from 'pusher-js';

const pusher = new Pusher('rfqctj66urp5ymorrtjk', {
  wsHost: '192.168.1.100', // 替换为你的服务器局域网IP
  wsPort: 9909,
  forceTLS: false, // http模式设为false,https模式设为true
  encrypted: false, // 对应http模式,https设为true
  enabledTransports: ['ws', 'wss'],
});

3. 开放服务器端口并检查防火墙

  • 确保服务器防火墙允许9909端口的TCP入站连接:
    # 以ufw为例
    sudo ufw allow 9909/tcp
    sudo ufw reload
    
  • 若服务器在虚拟机或容器中,需同步配置端口映射,确保9909端口能被局域网设备访问。

4. 独立启动Reverb服务

不要用php artisan serve同时运行Web应用和Reverb,需单独启动Reverb:

php artisan reverb:start

如需后台持续运行,可使用nohup或进程管理工具(如Supervisor):

nohup php artisan reverb:start &

常见问题说明

  • 自签HTTPS证书问题:局域网使用自签证书时,客户端浏览器会因不信任证书拒绝连接。可先改用http测试连通性,或在每个客户端浏览器手动导入证书。
  • 无需托管网站:你的需求完全可以实现,只要服务器在局域网内可访问、上述配置正确即可,无需将网站部署到公网。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:16:06