веб-пакеты laravel развертываются на реальном сервере

#laravel #vue.js #ubuntu #websocket #laravel-websockets

Вопрос:

мы настроили веб-сайты laravel для приложения чата в режиме реального времени на веб-сайте, выполнили работу с кодом и нормально работали на локальном хосте, но не смогли настроить его на реальном сервере. Пытаюсь настроить живую среду с помощью websockets, отлично работающую в локальной среде.

Файл виртуального хоста

 <VirtualHost *:80>
    ServerName ws.techandover.com
#    ProxyPass "/" "ws://127.0.0.1:6001/"

    RewriteEngine on
    ProxyRequests off
    ProxyPreserveHost On
    ProxyVia on

 # allow for upgrading to websockets
  RewriteEngine On
  RewriteCond %{HTTP:Upgrade} =websocket [NC]
  RewriteRule /(.*)           ws://localhost:6001/$1 [P,L]
  RewriteCond %{HTTP:Upgrade} !=websocket [NC]
  RewriteRule /(.*)           http://localhost:6001/$1 [P,L]


  ProxyPass "/" "http://localhost:6001/"
  ProxyPassReverse "/" "http://localhost:6001/"

  ProxyPass "/app" "ws://localhost:6001/app"
  ProxyPassReverse "/app" "ws://localhost:6001/app"


    ErrorLog ${APACHE_LOG_DIR}/websocket-error.log
    CustomLog ${APACHE_LOG_DIR}/websocket-access.log combined

    <FilesMatch .php> # Apache 2.4.10  can proxy to unix socket
          SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    <Proxy *>
        Require all granted
        Allow from all
    </Proxy>
</VirtualHost>
 

broadcasting.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'),
                'encrypted' => true,
                'host' => 'ws.techandover.com',
                'port' => 6001,
                'scheme' => 'http'
            ],
        ],

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
        ],

        'log' => [
            'driver' => 'log',
        ],

        'null' => [
            'driver' => 'null',
        ],

    ],
 

Echo

 import Echo from 'laravel-echo';

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    authEndpoint : 'https://medservice.techandover.com/broadcasting/auth',
    encrypted: true,
    auth : {
      headers:{
      'Authorization': 'Bearer '   localStorage.getItem('patient_access_token')
      }
    },
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    wsHost: 'ws.techandover.com',
    wsPort: 6001,
    forceTLS: false,
    disableStats: false,
    
});
 

when we trying to connect with pusher/websocket with above configurations
WebSocket connection failed error screenshot