Защищенные веб-узлы WSS на эластичном бобовом стебле с Apache PHP и Laravel

Возникли проблемы с получением безопасных веб-сокетов для работы в laravel на эластичном beanstalk AWS.

Они отлично работают в разработке и производстве через http и ws.

В dev он отлично работает через https и wss.

В процессе производства (со всеми теми же настройками, только с разными сертификатами) через https и wss я получаю следующую ошибку

не удалось: ошибка при установлении соединения: net :: ERR_CONNECTION_CLOSED

Предполагая проблему с сертификатом или ключом, я попытался использовать неверный сертификат и ключ. Затем ошибка меняется на следующее.

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

Итак, я предполагаю, что проблема не в сертификате.

Конфигурация, как показано ниже: websockets.php

'apps' => [
    [
        'id' => env('PUSHER_APP_ID'),
        'name' => env('APP_NAME'),
        'key' => env('PUSHER_APP_KEY'),
        'secret' => env('PUSHER_APP_SECRET'),
        'path' => env('PUSHER_APP_PATH'),
        'capacity' => null,
        'enable_client_messages' => true,
        'enable_statistics' => true,
    ],
],
'ssl' => [
    /*
     * Path to local certificate file on filesystem. It must be a PEM encoded file which
     * contains your certificate and private key. It can optionally contain the
     * certificate chain of issuers. The private key also may be contained
     * in a separate file specified by local_pk.
     */
    'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),

    /*
     * Path to local private key file on filesystem in case of separate files for
     * certificate (local_cert) and private key.
     */
    'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),

    /*
     * Passphrase for your local_cert file.
     */
    'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),


    'verify_peer' => false,
],

.env файл

LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT=/etc/pki/tls/certs/cert.cer
LARAVEL_WEBSOCKETS_SSL_LOCAL_PK=/etc/pki/tls/certs/server.key

person Ryk Waters    schedule 18.03.2020    source источник


Ответы (1)


Добавьте кодовую фразу в свой файл сертификата и в env ('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null).

У меня были такие же проблемы с хранилищами ключей без пароля.

person TimeO84    schedule 19.03.2020
comment
Пробовал установить кодовую фразу, никаких изменений. - person Ryk Waters; 19.03.2020