AWS 中的 Laravel WebSockets 推送器
Posted
技术标签:
【中文标题】AWS 中的 Laravel WebSockets 推送器【英文标题】:Laravel WebSockets pusher in AWS 【发布时间】:2022-01-24 05:46:36 【问题描述】:我创建了一个套接字应用程序,它在本地运行良好 但是当我想测试它是否可以在 AWS 中工作时,它给了我这个错误
照亮\广播\广播异常
Pusher 错误:"error":"Unknown app id 12345
provided.".
我不知道 AWS 上的设置是否会有所不同 或者是缓存问题
这是我的坐姿
brodcasting.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'),
//'useTLS' => true,
//'forceTLS'=>true,
'encrypted' => true,
'host' => '127.0.0.1',
'port'=>'6001',
'scheme'=> 'http',
//'curl_options' => [
// CURLOPT_SSL_VERIFYHOST => 0,
// CURLOPT_SSL_VERIFYPEER => 0,
// ]
],
],
websoket.php
'apps' => [
[
'id' => env('PUSHER_APP_ID'),
'name' => env('APP_NAME'),
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
//'path' => env('PUSHER_APP_PATH'),
//'capacity' => null,
'enable_client_messages' => false,
'enable_statistics' => true,
],
],
bootstrap.php
window.Echo = new Echo(
broadcaster: 'pusher',
key: env('PUSHER_APP_KEY'),
//cluster: process.env.MIX_PUSHER_APP_CLUSTER,
//forceTLS: true,
wsHost: window.location.hostname,
wsPort: 6001,
forceTLS: false,
disableStats: true, );
【问题讨论】:
它只是说错误。您应该提供一个有效的PUSHER_APP_ID
。
因为我使用的 WebSocket 服务器来自 Beyond 我低估了服务器替换推送器,所以我需要为推送器创建自己的密钥和 ID,而不是使用推送器网站提供给我的密钥。
【参考方案1】:
这意味着您可能需要更改 broadcasting.php
中的 'host'
以指向您的 laravel-websockets 正在运行的任何 IP/域
【讨论】:
更改后给我(504 网关超时)以上是关于AWS 中的 Laravel WebSockets 推送器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 应用程序中使用 docker 容器启动运行 websockets
无法通过 websockets 发布到 aws mqtt 代理