laravel -echo-сервер на laradock ECONNREFUSED 127.0.0.1:80 с частным каналом - PullRequest
0 голосов
/ 13 января 2020

Я использую redis на laradock и паспорт для аутентифицированного канала. если я использую publi c channel, сокет подключен, но если я изменяю событие канала в NewMessage. php на private, я получаю ошибку Error sending authentication request при попытке аутентификации. У кого-нибудь есть такая же проблема? как это решить?

laravel -echo-server. json конфигурация:

{
    "authHost": "http://platform.lenna.test/app/public",
    "authEndpoint": "/broadcasting/auth",
    "clients": [],
    "database": "redis",
    "databaseConfig": {
        "redis": {
            "port": "6379",
            "host": "redis"
        }
    },
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "http",
    "socketio": {},
    "sslCertPath": "",
    "sslKeyPath": "",
    "apiOriginAllow": {
        "allowCors": true,
        "allowOrigin": "http://localhost:80",
        "allowMethods": "GET, POST",
        "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
    }
}

это мое laravel событие NewMessage . php

...
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class NewMessage implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $message;
    public $app;
    public $room;
    public function __construct(Message $message, Room $room, App $app)
    {
        $this->message = $message;
        $this->app = $app;
        $this->room = $room;
    }

    public function broadcastOn()
    {
        return new PrivateChannel('ChannelApp.' . $this->app->id);
    }
}

BroadcastServiceProvider. php

class BroadcastServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Broadcast::routes(['middleware' => ['auth:api']]);

        require base_path('routes/channels.php');
    }
}

Канал. php маршруты

Broadcast::channel('ChannelApp.{appId}', function ($user, $appId) {
    return true;
})

Это мои laravel журналы ошибок эхо-сервера:

enter image description here

1 Ответ

0 голосов
/ 24 марта 2020

У меня была похожая проблема. Я обнаружил, что laravel -echo-сервер разрешает "http://platform.lenna.test" до 127.0.0.1.

Итак, что я сделал, было добавлено "nginx docker ip platform.lenna.test" для / etc / hosts laravel -echo-сервера, и это сработало для меня.

...