Защищенные веб-узлы WSS на Elastic Beanstalk с 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
1 ответ
Добавьте кодовую фразу в свой Cert-файл и в env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null).
У меня были такие же проблемы с хранилищами ключей без пароля.