как подключить клиент и сервер на одном сервере с помощью веб-сокета для обмена данными в реальном времени - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь создать сокет-соединение между моими nuxt js и laravel api, которые размещены на laravel Forge на одном сервере. мое приложение nuxt js использует domain.com и laravel api использует api.domain.com , я хотел использовать поддомен ( socket.domain .com ) для размещения моего сервера websocket без кода. запуск сервера websocket с помощью демона из api.domain.com (приложение laravel) и через socket.domain.com прокси-сервер ngnix на http:127.0.0.1: 6001 . соединение установлено, но сообщения не поступают клиенту (приложение Nuxt).

Laravel конфигурация широковещательной передачи

'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'),
    'encrypted' => true,
    'host' => '127.0.0.1',
    'port' => 6001,
    'scheme' => 'https',
 ],
],

Конфигурация приложения Nuxt (используя 443 для порта и socket.domain.com в качестве wsHost)

[
 '@nuxtjs/laravel-echo',
  {
    broadcaster: 'pusher',
    key: env.parsed.PUSHER_APP_KEY,
    cluster: env.parsed.PUSHER_APP_CLUSTER,
    encrypted: true,
    wsHost: env.parsed.WEBSOCKET_HOST,
    wsPort: env.parsed.PUSHER_PORT,
    wssPort: env.parsed.PUSHER_PORT,
    disableStats: true,
    enabledTransports: ['ws', 'wss']
  }
 ]

конфигурация ngnix

    location / {
    proxy_pass              http://127.0.0.1:6001;
    proxy_read_timeout     60;
    proxy_connect_timeout  60;
    proxy_redirect         off;

    # Allow the use of websockets
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
}

Как мне go об этом

  1. настройки эхо-конфигурации между сервером и клиентом
  2. как подключить клиента и получать сообщения
...