首页 > 解决方案 > 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;
    }

在此处输入图像描述

标签: laravelsocket.iolaravel-echo

解决方案


您可能需要配置 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 配置。


推荐阅读