首页 > 解决方案 > 实时在生产中不起作用(Laravel-echo)

问题描述

按照设置...

larave-echo-server.json

{
    "authHost": "https://meusite.com.br",
    "authEndpoint": "/broadcasting/auth",
    "clients": [
        {
            "appId": "***",
            "key": "***"
        }
    ],
    "database": "sqlite",
    "databaseConfig": {
        "redis": {},
        "sqlite": {
            "databasePath": "/database/laravel-echo-server.sqlite"
        }
    },
    "devMode": false,
    "host": null,
    "port": "6001",
    "protocol": "https",
    "socketio": {},
    "sslCertPath": "/etc/pki/tls/***.pem",
    "sslKeyPath": "/etc/pki/tls/***.pem",
    "sslCertChainPath": "",
    "sslPassphrase": "",
    "subscribers" : {
        "redis": false
    }
}

.env

BROADCAST_DRIVER=pusher

PUSHER_APP_ID=***
PUSHER_APP_KEY=***
PUSHER_APP_SECRET=null
PUSHER_APP_CLUSTER=mt1
ECHO_HOST=https://meusite.com.br
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

广播.php

'default' => env('BROADCAST_DRIVER', 'pusher'),

'connections' => [

        'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'host'      => env('ECHO_HOST', 'https://meusite.com.br'),
                'port'      => env('ECHO_PORT', 6001),
                'scheme'    => env('ECHO_SCHEME', 'https'),
            ],
        ],

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
        ],

        'log' => [
            'driver' => 'log',
        ],

        'null' => [
            'driver' => 'null',
        ],

    ],

正常启动但是前台无法通过指责(失败)进行通信...

window.Echo = new Echo({
        broadcaster: 'socket.io',
        host: window.location.hostname + ':6001',
    });

我在 Apache 服务器上尝试了几个代理设置但没有生效,我听说有一个名为 'Proxy_wstunnel' 的代理可以通过套接字进行传输,但我不知道如何使用,有人可以帮助我吗?

Obs:我正在使用亚马逊的负载平衡。

标签: laravelapachewebsocketreal-timelaravel-echo

解决方案


推荐阅读