如何解决连接超时Laravel-echo-server
我知道而且我已经看到了这个问题
Getting ERR_CONNECTION_TIMED_OUT Laravel echo server
但是我在评论中尝试了该解决方案,但是它不起作用。
我有我的Laravel-echo-server.json
{
"authHost": "https://mysite.it","authEndpoint": "/broadcasting/auth","clients": [],"database": "redis","databaseConfig": {
"redis": {
"host":"0.0.0.0","port":"6379","password": "mypwd"
},"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},"devMode": true,"host": null,"port": "6001","protocol": "https","socketio": {},"secureOptions": 67108864,"sslCertPath": "path_cert","sslKeyPath": "path_key","sslCertChainPath": "","sslPassphrase": "","subscribers": {
"http": true,"redis": true
},"apiOriginAllow": {
"allowCors": true,"allowOrigin": "*","allowMethods": "GET,PoST","allowHeaders": "Origin,Content-Type,X-Auth-Token,X-Requested -With,Accept,Authorization,X-CSRF-TOKEN,X-Socket-IdOrigin,X-A uth-Token,X-Requested-With,X-Socket-IdOri gin,X-CSRF -TOKEN,X-Socket-Id"
}
}
我的bootstrapjs中有与Frontend的连接:
import Vue from 'vue'
import Echo from 'laravel-echo'
window.io = require('socket.io-client')
export var echo_instance = new Echo({
broadcaster: 'socket.io',host: window.location.hostname + ':6001',auth: {
headers: {
'Authorization': "Bearer " + localStorage.getItem('token')
}
}
})
Vue.prototype.$echo = echo_instance
export default Vue
我已经检查端口是否关闭,但是使用netstat -an可以看到:
tcp6 0 0 ::: 6001 ::: *监听
但是当我尝试启动我的应用程序时,我收到:
app.js:569 GET https://mysite.it:6001/socket.io/?EIO=3&transport=polling&t=NKoWZoK 净:: ERR_CONNECTION_TIMED_OUT
如何将laravel echo与https协议一起使用?
解决方法
这可能是因为您使用了错误的访问令牌(动态添加)。为什么不先尝试为用户使用静态访问令牌(复制访问令牌并粘贴它而不是localStorage.getItem('token')),看看它是否有效。
还要尝试将以下内容放入laravel-echo-server.json文件
“ allowOrigin”:“ http://mysite.it:80”
然后,查看.env文件中的APP_URL是否不同
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。