我有一个Nuxt应用程序在前端和Laravel的API。我已经通过Nginx代理在我的本地机器上成功地运行了Laravel echo服务器。当我在prod上部署它的时候,我无法让它工作。除了端点之外,我在本地也有相同的配置。我总是在我的ws连接上得到状态3。
我不知道该查找什么,也不知道如何调试套接字连接
nginx配置:
location /socket.io/echo/ {
proxy_pass http://127.0.0.1:6001;
proxy_set_header Host $host;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Allow the use of websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

发布于 2020-05-05 21:03:24
您可能需要配置laravel echo才能使用SSL。试着这样配置它:
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
wsHost: window.location.hostname,
wsPort: 6001,
wssPort: 6001,
encrypted: true,
disableStats: true,
enabledTransports: ['ws', 'wss']
});如果不能工作,请确认您在后端使用的是什么包?是laravel-websockets吗?可能还需要为SSL配置它。
发布于 2020-05-07 11:09:56
这是个愚蠢的错误。我工作的服务器托管了相当多的域。API使用的域名与nuxt应用程序不同。已更新配置以指向API域名,现在工作正常。谢谢!
https://stackoverflow.com/questions/61603859
复制相似问题