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

AWS EC2部署Laravel Websockets无法建立连接返回502错误问题排查

问题解决步骤

  • 先修正config/broadcasting.php配置:当前未配置SSL的场景下,将useTLS和encrypted两个参数的值修改为false,修改完成后执行php artisan config:clear清除配置缓存,避免旧配置残留影响服务运行。
  • 启动ws服务的--host参数必须和nginx配置中proxy_pass的地址完全匹配:
    • 若使用php artisan websockets:serve --host=127.0.0.1启动服务,nginx的proxy_pass填http://127.0.0.1:6001/(注意末尾加斜杠,避免将/v2/api/ws路径前缀传递给ws服务)
    • 若使用php artisan websockets:serve --host=10.0.0.1启动服务,nginx的proxy_pass填http://10.0.0.1:6001/
  • 无法绑定公网IP启动属于正常现象:EC2的公网IP未直接配置在实例网卡上,本地进程无法直接绑定公网IP,不需要尝试该启动方式。
  • 本地连通性校验:启动ws服务后,先在EC2实例本地执行curl http://127.0.0.1:6001(对应你启动时指定的host地址),如果无法正常返回内容,说明ws服务本身未正常启动,优先排查服务启动日志的报错信息。
  • laravel-websockets的配置会直接影响php artisan websockets:serve命令的运行,所有配置修改后都需要重启ws服务才能生效。
  • 走nginx代理的场景下,不需要对外放开6001端口的安全组/ufw规则,所有ws请求都会通过80/443端口由nginx转发,对外开放6001端口反而存在安全风险,排查完成后可以关闭对应规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:24:03