docker部署启动后Websocket通信失败
gaye746560359 opened this issue · comments
docker部署阿里云后远程启动后报错
Websocket通信失败
远程访问的请求url为
http://localhost/socket.io/?jwt=
自己设置过app_url么?如果使用默认的localhost,等待片刻,系统会自动连的。
同样的问题。链接地址我认为不应该是localhost,应该是docker主机的地址加端口,我看dockefile里socket端口是7001,我给docker加了7001端口,后来发现链接地址是localhost而不是docker主机的地址
@gaye746560359 @Henjue
我也遇到同样的问题,发现socket的请求地址为 http://localhost/socket.io/?jwt= ,然后通过修改配置解决了,解决步骤如下:
1 . 在远程主机上,进入docker命令行,然后进入应用根目录,对应命令如下:
docker exec -it piplin bash
cd /var/www/piplin
2 . 修改.env文件,把其中的 APP_URL 和 SOCKET_URL 配置项修改成自己配置的域名;
3 . 更新配置缓存
php artisan config:cache
我也遇到Websocket通信失败,说说我怎么解决的吧.
我容器启动时候是这样的 run -d -p 8080:80 --name piplin piplin:lite
1.进入docker
docker exec -it piplin ash
2.supervisorctl检查服务
发现socket-io服务报错,查看服务是运行node socket.js的
运行命令发现moment 模块没有找到,使用npm install moment 就好了。
3.重启piplin-socketio
restart piplin-socketio
4.修改.env文件,把其中的 SOCKET_URL 配置项修改成自己配置的域名;
这里就得这样改 SOCKET_URL=http://localhost:8080
5.更新配置缓存
php artisan config:cache
到此就大公告成!