我正在使用 laravel-echo 和 redis 驱动程序来广播通知。它在我的本地系统上完美运行。但是在我的服务器上,我收到ERR_CONNECTION_TIMED_OUT
错误消息。浏览器控制台显示http://ex.example.com:6001/socket.io/socket.io.js net::ERR_CONNECTION_TIMED_OUT
。
我对socket和redis一无所知。所以我只是按照laravel 官方文档和laravel-echo-server 的说明进行操作。从这里只做了一个改变。但是在这种变化的帮助下,我可以让执行剩余的 js 脚本。socket.io.js 的问题仍未解决(也在github 中)。
这是我遵循的步骤。
js
import Echo from "laravel-echo"
window.io = require('socket.io-client'); //suggested in github issue
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});
laravel-echo-server.json
{
"authHost": "http://ex.example.com",
"authEndpoint": "/broadcasting/auth",
"clients": [
{
"appId": "edbf10287972d875",
"key": "96403c9f93e1a2d86185e2d21aa0fae1"
}
],
"database": "redis",
"databaseConfig": {
"redis": {},
"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},
"devMode": true,
"host": null,
"port": "6001",
"protocol": "http",
"socketio": {},
"sslCertPath": "",
"sslKeyPath": ""
}
如果有人知道解决方案,将不胜感激。
这听起来很简单,但是您是否检查了服务器上的防火墙设置?
编辑:感谢@AkshayVaghasiya 分享正确设置防火墙的说明[阅读此处]。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句