laravel - Laravel 回声服务器
问题描述
我在前端有一个 Nuxt 应用程序和用于 API 的 Laravel。我已经通过 Nginx 代理在本地机器上成功运行了 Laravel 回显服务器。当我在产品上部署它时,我无法让它工作。除了端点,我在本地有相同的配置。我总是在我的 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;
}
解决方案
您可能需要配置 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 配置。