提问者:小点点

Laravel网络套接字连接失败


我有一个Laravel8API项目和一个使用LaravelEcho的NUXTJS前端。我已经安装了Laravel Websockets服务器,并使用Pusher替换配置使一切正常工作:

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

值得注意的是,我也尝试过:

'options' => [
    ...
    'port' => 6001,
    'scheme' => 'https'
],

和...

'options' => [
    ...
    'port' => 443,
    'scheme' => 'https'
],

但是,当我部署到CentOS 8服务器并使用php artisan websockets:serve(我处于调试模式)启动websockets服务器并尝试连接时,我收到一个连接失败错误。我正在使用默认端口6001和默认主机0.0。0.0时,我从前端收到的错误是:

WebSocket连接到wss://127.0.0.1/app/local?protocol=7

例如,我的前端是:https://example-gui.example.com/,而我正在运行的API在https://example-api.example.com/上,两者都在同一台服务器上,并且与正在运行的webSocket服务器位于同一台服务器上。

我使用Cloudflare为HTTPs,我不确定是否需要与主机更改任何东西?

我最初有这样的联系:

'wss://127.0.0.1/app/local?protocol=7

在生产中我缺少什么来连接?

我被困在知道如何让它连接!


共1个答案

匿名用户

看起来您的前端仍在尝试连接到websocket服务器的本地主机版本。

尝试用您的示例api URL替换它。