问题描述
我知道而且我已经看到了这个问题
Getting ERR_CONNECTION_TIMED_OUT Laravel echo server
{
"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是否不同