Laravel Echo с Pusher и Vue

Я использую Laravel как серверную часть и Vue Cli как клиент. Также я использую https://docs.beyondco.de/laravel-websockets/ Но я есть ошибки в журнале консоли, когда я пытаюсь подключить клиент vue к веб-узлам laravel.

WebSocket connection to 'ws://http//websockets.test:6001/app/myKey?protocol=7&client=js&version=5.1.1&flash=false' failed: Connection closed before receiving a handshake response

WebSocket connection to 'wss://http//websockets.test:443/app/myKey?protocol=7&client=js&version=5.1.1&flash=false' failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED

Access to XMLHttpRequest at 'http://sockjs-mt1.pusher.com/pusher/app/myKey/659/6nenb2dd/xhr_streaming?protocol=7&client=js&version=5.1.1&t=1583092642805&n=1' from origin 'http://app.vuesocks.test:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Вот мой код в параметрах Vue Cli index.js Echo

window.Echo = new Echo({
  broadcaster: 'pusher',
  key: 'myKey',
  cluster: 'mt1',
  authEndpoint: 'http://websockets.test/broadcasting/auth',
  wsHost: 'http://websockets.test',
  wsPort: 6001,
  disableStats: true,
  auth: {
    headers: {
      Authorization: 'Bearer myToken...',
    },
  },
});

BroadcastServiceProvider.php

Broadcast::routes(['middleware' => 'auth:api']);

channel.php

Broadcast::channel('chat', function () {
    return 'Hello!';
});

если удалить wsHost и wsPort, то ошибок нет, но ничего не происходит, нет ответа от сервера.


person rus131354    schedule 01.03.2020    source источник
comment
Вы используете php artisan websockets: serve? В большинстве случаев это связано с тем, что соединение закрывается до получения ответа.   -  person Uzair Riaz    schedule 05.05.2020


Ответы (2)


Вероятно, это уже было решено, но для тех, кто все еще не может заставить свой интерфейс прослушивать события, то, что сработало для меня, - это возврат pusher-js обратно к версии 5.1.1, нашел ответ по этой проблеме в репо: https://github.com/beyondcode/laravel-websockets/issues/365

person noobnoob    schedule 10.05.2020

У меня была такая же проблема (Laravel и Vuejs), она работала на localhost, но когда я размещал на консоли vps CORS, проблема отображалась. Я изменил версию pushers-js с 6.0.0 на 5.1.1, которая у меня сработала.

person zia    schedule 11.02.2021