【问题标题】:Laravel + Vuejs + Laravel-Webscoket + ApacheLaravel + Vuejs + Laravel-Webscoket + Apache
【发布时间】:2021-06-04 04:27:55
【问题描述】:

问候社区

我有下一个问题。我有一个用 Laravel 制作的 api 和一个用 vuejs 制作的前端。问题是套接字只能在本地工作,但是当我在共享主机中上传两个项目时,套接字失败并在浏览器控制台中显示错误连接

这是 config/broadcasting.php

中的 mi 配置
'pusher'                  => [
        'driver'                 => 'pusher',
        'key'                    => env('PUSHER_APP_KEY'),
        'secret'                 => env('PUSHER_APP_SECRET'),
        'app_id'                 => env('PUSHER_APP_ID'),
        'options'                => [
            'cluster'               => env('PUSHER_APP_CLUSTER'),
            'useTLS'                => true,
            'encrypted'             => false,
            'host'                  => 'backtotalv2.tastyboom.com',
            'port'                  => 6001,
            'scheme'                => 'https',
            'curl_options'          => [
                CURLOPT_SSL_VERIFYHOST => 0,
                CURLOPT_SSL_VERIFYPEER => 0,
            ]
        ],
    ],

这是我在 config/websocket.php

中的配置
'ssl' => [
    'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),

    'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),

    'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),
],

这是我的 vuejs 中的 main.js:

import Echo from 'laravel-echo';

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '***************',
    cluster: 'tls',
    forceTLS: false,
    wsHost: '127.0.0.1',
    wssPort: 6001,
    wsPort: 6001,
    authEndpoint: `${config.url}/broadcasting/auth`,
    enabledTransports: ['ws', 'wss'],
    encrypted: false,
    auth: {
      headers: { 
        "Authorization": "Bearer " + token
      }
    }
});

我尝试按照这个示例进行操作,但它不起作用Laravel + Nuxt + Nginx

在生产环境中始终在控制台中显示此错误

Image Error

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: laravel vue.js laravel-websockets


    【解决方案1】:

    在我看来,您的服务器已配置为通过 TLS 安全运行,因为您将“useTLS”设置为 true,但在您的客户端中,您将“encrypted”和“forceTLS”设置为 false。另请记住,如果您的网站在 HTTPS 上运行,那么您也必须使用加密的 WSS,因为 WS 仅在您的网站通过 HTTP 未加密运行时才有效。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 2020-07-17
      • 2021-02-03
      • 2021-06-25
      • 2021-05-09
      相关资源
      最近更新 更多