问题描述
我在laravel echo服务器,socket.io和redis的nginx服务器上使用laravel 5.8。
我的网站一直工作到昨天没有错误,但是今天它一直在给我套接字错误,例如:
GET https://example.com:6001/socket.io/?EIO=3&transport=polling&t=NHtNFvZ net::ERR_SSL_PROTOCOL_ERROR
这是我的laravel-echo-server.json文件:
{
"authHost": "http://localhost:8000","authEndpoint": "/broadcasting/auth","clients": [
{
"appId": "123","key": "123"
}
],"database": "redis","databaseConfig": {
"redis": {
"port": "6379","host": "127.0.0.1"
},"sqlite": {
"databasePath": "/database/laravel-echo-server.sqlite"
}
},"devMode": true,"host": null,"port": "6001","protocol": "http","socketio": {},"sslCertPath": "","sslKeyPath": "","sslCertChainPath": "","sslPassphrase": "","apiOriginAllow": {
"allowCors": true,"allowOrigin": "http://localhost:80","allowMethods": "GET,POST","allowHeaders": "Origin,Content-Type,X-Auth-Token,X-Requested-With,Accept,Authorization,X-CSRF-TOKEN,X-Socket-Id"
}
}
首先遇到ERR_CRT_DATE_INVALID
错误,后来遇到ERR_SSL_PROTOCOL_ERROR
。
我已经使用sudo supervisorctl restart echo-server:*
重新启动了echo worker,但是仍然存在相同的问题。
解决方法
终于我解决了这个问题。
我添加了:
"authHost": "https://localhost:8000",
"protocol": "https",
"sslCertPath": "/etc/letsencrypt/live/example.com/fullchain.pem",
"sslKeyPath": "/etc/letsencrypt/live/example.com/privkey.pem",
在我的laravel-echo-server.json文件中,并使用sudo supervisorctl restart echo-server:*
重新启动回显服务器工作进程
将来可能会对某人有所帮助。