【问题标题】:Laravel Echo ServerLaravel 回声服务器
【发布时间】:2020-08-19 13:34:49
【问题描述】:

我在前端有一个 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 socket.io laravel-echo


    【解决方案1】:

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

    【讨论】:

    • 谢谢伙计。我也在考虑使用它,因为我没有选择。我正在使用 laravel-echo-server
    【解决方案2】:

    这是一个愚蠢的错误。我正在工作的服务器托管着相当多的域。 API 使用的域名与 nuxt 应用程序不同。将配置更新为指向 API 域名,现在运行良好。谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2018-03-06
      相关资源
      最近更新 更多