问题描述
我一直在将我的websockets服务器(beyondcode/laravel-websockets 1.1
上的Laravel 5.8
)从Debian服务器(该服务器可以正常运行)迁移到专门用于仅运行该服务器的全新AWS EC2服务器。 EC2运行Ubuntu 20,并且已按照以前的服务器进行设置。
使用该外部服务器的Web应用程序已配置为可以正常运行,并且在旧服务器(前端的Laravel广播和Laravel Echo)上运行没有任何问题,因此,我所做的唯一更改就是更改了.env
文件中的服务主机名。因此,问题必须出在websockets服务器端。
在服务器上运行命令PHP artisan websockets:serve
时,我可以在控制台中看到日志输出,它清楚地表明正在与前端应用程序建立连接。
{"event":"pusher_internal:subscription_succeeded","channel":"channel_name"}
它甚至成功地“乒乓”。
在Chrome调试工具的“网络”标签中,wss
连接成功101 Switching Protocols
。
但是,每当从Web应用程序(即从后端)广播某些内容时,它都会在broadcastException上失败,并且没有消息。因此,看起来好像已经建立了来自前端的连接,但是后端无法将任何消息推送到服务器。根据{{1}},服务器打开了正在通信的6001端口。该服务器还具有有效的LE证书。与sudo运行时的行为相同。
我的想法已经用光了,花了很多时间进行调试,但是我什至不知道从哪里开始。哪些问题可能会导致这种行为?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)