簡體   English   中英

Laravel websockets 和亞馬遜 web 服務 (AWS)

[英]Laravel websockets and amazon web service (AWS)

我正在嘗試使用 EC2 實例 ubuntu 服務器將我的 laravel 應用程序與laravel websockets一起部署。

但是當我嘗試使用php artisan websockets:serve時,我希望在連接時看到一些控制台日志,但我只收到一條信息

在端口 6001 上啟動 WebSocket 服務器...

我嘗試通過訪問example.com/laravel-websockets來調試數據。 它只會返回

WebSocket 在連接建立之前關閉

我只是很困惑 laravel-websocket 是否可以部署到亞馬遜 web 服務 ec2 實例,或者是否需要對 aws 進行任何配置才能運行這個 laravel-websockets?

客戶端

import Echo from "laravel-echo"

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: VUE_APP_PUSHER_APP_KEY,
    wsHost: VUE_APP_PUSHER_HOST,
    wsPort: 6001,
    wssPort: 6001,
    disableStats: true,
    enabledTransports: ['ws', 'wss'],
    encrypted:true,
});

配置/廣播.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'),
                'host' => '127.0.0.1',
                'port' => 6001,
                'scheme' => 'https',
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ]
            ],
        ],

Websocket 響應

Websocket 響應

這是我的 bootstrap.js 配置:使用 window.location.hostname,用於 ws 和 wss 端口。

和普通的鑰匙。

另外,檢查 ec2 實例是否阻止 6001 端口。

import Echo from "laravel-echo"

window.Pusher = require('pusher-js');


window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '1234567890',
    wsHost: window.location.hostname,
    wsPort: 6001,
    wssHost: window.location.hostname,
    wssPort: 6001,
    disableStats: true,
    enabledTransports: ['ws', 'wss'],
});

嘗試查看端口是否正在偵聽:

netstat -tpunl | grep 6001

如果它在那里。 我認為 EC2 實例服務器禁用外部訪問端口 6001。

您需要在ec2 安全組打開 6001 端口

還需要在 EC2 實例的防火牆上打開相同的端口。

暫無
暫無

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

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