Laravel Websockets - ошибка: сбой: ошибка при установлении соединения: net:: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Я терял дни на этом, читал много других вопросов, но я не могу просто заставить это работать и не знаю, в чем моя проблема, поэтому я надеялся, что кто-то может указать мне правильное направление. Ниже приведен код, который я использую, чтобы ПОПРОБОВАТЬ! для реализации веб-сокетов: (также я просто использую драйвер толкателя, а не учетную запись!)

broadcasting.php

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

websockets.php

'apps' => [
        [
            'id' => env('PUSHER_APP_ID'),
            'name' => env('APP_NAME'),
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'capacity' => null,
            'enable_client_messages' => false,
            'enable_statistics' => false,
        ],
    ],
...

'ssl' => [

        'local_cert' => 'certs/myDomain.cert',
         // i have created a certs 
         //folder in my public_html and downloaded the cert from my 
         //remote server

        'local_pk' => 'certs/myDomain.key', 
         // i have created a certs 
         //folder in my public_html and downloaded the key from my 
         //remote server

        'passphrase' => null // i don´t know the pass
    ],

bootstrap.js

import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: 'myKey',
    wsHost: window.location.hostname,
    wssPort: 6002,
    disableStats: true,
    encrypted: true,
    enabledTransports: ['ws', 'wss']
});
  • Если я перейду к терминалу и php artisan websockets:serve --port=6002, сервер запустится и не выдаст никакой ошибки
  • Мой веб-сайт использует HTTPS, и я не знаю, как реализовать обратный прокси-сервер, как говорится в документации, потому что я использую apache, а не nginx, и моя панель - беспорядок для редактирования файлов ... и с ssl это должно работать правильно ?

    Почему пишет ERR_SSL_VERSION_OR_CIPHER_MISMATCH, я не знаю, что делать дальше

Спасибо за ваше время, привет.


person Japa    schedule 14.08.2019    source источник


Ответы (1)


Так что в итоге я использовал решение reverserproxy, о котором говорится в документации, я НЕ нашел решение с использованием ssl, но я почти уверен, что это связано с моим сертификатом и моим провайдером... оказывается что решение обратного прокси намного проще, поэтому всем, кто борется с той же проблемой, я рекомендую сделать это:

Перейдите на панель удаленного сервера (у меня CWP7) и откройте файл yourDomain.conf и внутри введите:

   ProxyPass/app/yourLaravelApp ws://yourDomain.com:theWebsocketPort/app/ginkgo 
   ProxyPass/app/yourLaravelApp ws://yourDomain.com:theWebsocketPort/app/ginkgo 

Этот файл, который вы должны отредактировать, конечно же, связан с конфигурацией вашего веб-сервера, в моем случае у меня были myDomanin.ssl.conf и myDomain.conf, если у вас есть то же самое, вы ДОЛЖНЫ ПОСТАВИТЬ КОД ВЫШЕ В ОБОИХ ФАЙЛАХ и все! Наслаждайтесь.

person Japa    schedule 16.08.2019