0

Laravel Websocket 正在使用非 ssl 和 HTTP。但是当我应用 SSL 更改时,它不起作用。

资源/js/bootstrap.js

import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    encrypted: false,
    wsHost: window.location.hostname,
    wsPort: process.env.MIX_LARAVEL_WEBSOCKETS_PORT,
    wssPort: process.env.MIX_LARAVEL_WEBSOCKETS_PORT,
    enabledTransports: ['ws', 'wss'],
    forseTLS:true,
});

配置/广播.php

'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,
                'host' => '127.0.0.1',
                'port' => env('LARAVEL_WEBSOCKETS_PORT'),
                'scheme' => 'https',
                'encrypted' => true,
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ],
            ],
        ],

配置/websocket.php

使用文件中给出的常量名称在 ENV 文件中设置 SSL 证书。还添加了额外的 'verify_peer'=>false

浏览器控制台输出 浏览器网络输出WS在此处输入图像描述

对于最初的 1-2 次调用,它显示消息“WebSocket 在建立连接之前已关闭。” 但接下来调用它没有显示任何味精

4

0 回答 0