Beyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws

Posted

技术标签:

【中文标题】Beyondcode\\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws【英文标题】:beyondcode\laravel-websockets it is redirecting to wss instead of ws on localhostBeyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws 【发布时间】:2020-05-18 10:32:14 【问题描述】:

我正在使用 laravel 5.7 版和 Beyondcode\laravel-websockets 包 v1.3 我现在面临的问题是当我在 localhost 上运行它时出现此错误

WebSocket connection to 'wss://localhost/app/somekey?protocol=7&client=js&version=6.0.2&flash=false' failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID

我在 bootsrap.js 中将 encrypted 更改为 false,但它仍然连接到 wss 而不是 ws

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,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,
    encrypted: false,
    wsHost: window.location.hostname,
    wsPort: 6001,
    disableStats: true
);

broadcasting.php 配置

'connections' => [

        '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'),
                'encrypted' => false,
                'host' => '127.0.0.1',
                'port' => 6001,
                'scheme' => 'http'
            ],
        ],

【问题讨论】:

【参考方案1】:

将此行添加到配置中,不要忘记编译

enabledTransports: ['ws'],

如果这不起作用,请尝试将 pusher.js 降级到 4.3

【讨论】:

【参考方案2】:

如果其他人看到这一点,一旦我停止通过https://www.mypage.com 并使用http://www.mypage.com,我已经解决了它

只需将浏览器上的协议从 https 更改为 http

【讨论】:

以上是关于Beyondcode\laravel-websockets 它正在重定向到 wss 而不是 localhost 上的 ws的主要内容,如果未能解决你的问题,请参考以下文章