env('REVERB_SERVER', 'reverb'), /* |-------------------------------------------------------------------------- | Reverb Servers |-------------------------------------------------------------------------- | | Here you may define details for each of the supported Reverb servers. | Each server has its own configuration options that are defined in | the array below. You should ensure all the options are present. | */ 'servers' => [ 'reverb' => [ 'host' => env('REVERB_SERVER_HOST', '0.0.0.0'), 'port' => env('REVERB_SERVER_PORT', 8080), 'path' => env('REVERB_SERVER_PATH', ''), 'hostname' => env('REVERB_HOST'), 'options' => [ 'tls' => [], ], // Laravel 推送事件的 HTTP 请求体上限;后台列表行可能超过 10KB,默认放宽到 512KB 'max_request_size' => env('REVERB_MAX_REQUEST_SIZE', 524_288), 'scaling' => [ 'enabled' => env('REVERB_SCALING_ENABLED', false), 'channel' => env('REVERB_SCALING_CHANNEL', 'reverb'), 'server' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'port' => env('REDIS_PORT', '6379'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'database' => env('REDIS_DB', '0'), 'timeout' => env('REDIS_TIMEOUT', 60), ], ], 'pulse_ingest_interval' => env('REVERB_PULSE_INGEST_INTERVAL', 15), 'telescope_ingest_interval' => env('REVERB_TELESCOPE_INGEST_INTERVAL', 15), ], ], /* |-------------------------------------------------------------------------- | Reverb Applications |-------------------------------------------------------------------------- | | Here you may define how Reverb applications are managed. If you choose | to use the "config" provider, you may define an array of apps which | your server will support, including their connection credentials. | */ 'apps' => [ 'provider' => 'config', 'apps' => [ [ 'key' => env('REVERB_APP_KEY'), 'secret' => env('REVERB_APP_SECRET'), 'app_id' => env('REVERB_APP_ID'), 'options' => [ 'host' => env('REVERB_HOST'), 'port' => env('REVERB_PORT', 443), 'scheme' => env('REVERB_SCHEME', 'https'), 'useTLS' => env('REVERB_SCHEME', 'https') === 'https', ], // 允许连接的前端域名(不含协议),逗号分隔,例如 admin.example.com;未配置时不限制 'allowed_origins' => array_values(array_filter(array_map('trim', explode(',', (string) env('REVERB_ALLOWED_ORIGINS', '*'))))), 'ping_interval' => env('REVERB_APP_PING_INTERVAL', 60), 'activity_timeout' => env('REVERB_APP_ACTIVITY_TIMEOUT', 30), 'max_connections' => env('REVERB_APP_MAX_CONNECTIONS'), 'max_message_size' => env('REVERB_APP_MAX_MESSAGE_SIZE', 10_000), // 后台推送只有服务端下发,不接受前端 whisper 等客户端事件 'accept_client_events_from' => env('REVERB_APP_ACCEPT_CLIENT_EVENTS_FROM', 'none'), 'rate_limiting' => [ 'enabled' => env('REVERB_APP_RATE_LIMITING_ENABLED', false), 'max_attempts' => env('REVERB_APP_RATE_LIMIT_MAX_ATTEMPTS', 60), 'decay_seconds' => env('REVERB_APP_RATE_LIMIT_DECAY_SECONDS', 60), 'terminate_on_limit' => env('REVERB_APP_RATE_LIMIT_TERMINATE', false), ], ], ], ], ];