Использование SSL с сертификатом Let'sEncrypt, использование общего сервера Dreamhost Apache для React SecureServer с Ratchet - PullRequest
0 голосов
/ 10 ноября 2019

В настоящее время я получаю сообщение об ошибке:

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

при попытке подключения к защищенному серверу React. Я использую общий хостинг-сервер Dreamhost, мой подписанный сертификат предоставлен LetsEncrypt. Я могу получить доступ к необработанному тексту сертификата, секретного ключа RSA и промежуточного сертификата для своего сайта через веб-портал Dreamhost. Я скопировал их в файлы в том же каталоге, что и скрипт chat-server.php, поэтому мое файловое дерево выглядит так:

mydomain.com:|chat.php|бен:||чат-server.php||public.pem // содержит текст сертификата, скопированный с Dreamhost||key.pem // содержит текст закрытого ключа, скопированный из Dreamhost...

с файлом chat.php для создания экземпляра веб-сокета для клиента.

Вот chat-server.php:

<?php

require dirname(__DIR__) . '/vendor/autoload.php';

$app = new \Ratchet\Http\HttpServer(
    new \Ratchet\WebSocket\WsServer(
        new \MyApp\Chat()
    )
);

$loop = \React\EventLoop\Factory::create();
$certs = openssl_get_cert_locations();

$secure_websockets = new \React\Socket\Server('0.0.0.0:8080', $loop);
$secure_websockets = new \React\Socket\SecureServer($secure_websockets, $loop, [
    'local_cert' => "public.pem",
    'local_pk' => "key.pem"
]);

$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();

Но яполучение версии SSL или несоответствие шифров. Что должен содержать мой файл сертификата? Нужно ли указывать local_cert в другом месте на моем сервере? Мне нужен мой личный ключ? Я попытался включить сертификат и промежуточный сертификат в файл public.pem, разные расширения файлов, разные опции контекста SSL, и ничего не помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...