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