簡體   English   中英

Laravel websockets 連接失敗

[英]Laravel websockets connection failed

我有一個 Laravel 8 API 項目以及一個使用 Laravel Echo 的 Nuxt JS 前端。 我安裝了 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&client=js&version=7.0.3&flash=false' 失敗:

例如,我的前端是: https://example-gui.example.com/而我正在運行的 API 位於https://example-api.example.com/上,並且與服務器相同,正在運行的 websockets 服務器。

我將 Cloudflare 用於 HTTPs,但我不確定是否需要對主機進行任何更改?

我最初有這樣的連接:

'wss://127.0.0.1/app/local?protocol=7&client=js&version=7.0.3&flash=false',當我運行netstat -tulnp時,我確實看到端口6001在那里。

我在生產中缺少什么連接?

我被困在知道如何讓它連接!

看起來您的前端仍在嘗試連接到 websocket 服務器的 localhost 版本。

在此處輸入圖像描述

嘗試用您的 example-api URL 替換它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM