[英]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
在那里。
我在生產中缺少什么連接?
我被困在知道如何讓它連接!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.