Ошибка SSL LetsEncrypt - подпрограммы SSL: ssl3_get_record: неправильный номер версии - PullRequest
0 голосов
/ 01 ноября 2018

Мне удалось получить свежий сертификат от LetsEncrypt. Мой конфиг VirtualHost настроен как:

<VirtualHost *:80>
    ServerName example.com
    Redirect 301 / https://example.com/
</VirtualHost>

<VirtualHost *:443>
    Servername example.com
    DocumentRoot /var/www/example.com/wav
    ErrorLog /var/log/apache2/example.com/www/error.log

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>

При попытке проверить это с помощью openssl:

openssl s_client -connect example.com -port 443

Я получаю следующее:

CONNECTED(00000003)
140229655213824:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:252:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 202 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
    SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1541086087
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no

Итак, похоже, что рукопожатие в порядке, но сертификат не отправляется.

Стоит отметить, что журналы Apache не сообщают о каких-либо ошибках - только обычные - сообщения «запуск / выключение». apache2ctl configtest не сообщает о проблемах.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Я получил ту же ошибку с вами. предлагаем вам проверить ваше соединение https на локальном компьютере, добавьте ваше доменное имя в / etc / hosts, например: 127.0.0.1 yourdomain.com чтобы пакет не выходил.

затем, используя «ссылки» для проверки соединения https в локальной среде, если нет проблем, то это вызвано проблемой или настройкой брандмауэра провайдера, я наконец нашел локальное соединение https в порядке и перешлю проблему провайдеру, чтобы окончательно решить эту проблему, удачи!

0 голосов
/ 01 ноября 2018

Итак, похоже, что рукопожатие в порядке, но сертификат не отправляется.

Рукопожатие не в порядке. Клиент отправил ClientHello для начала рукопожатия, но не получил ничего полезного в ответ:

                                            |- ClientHello
                                           ---
SSL handshake has read 5 bytes and written 202 bytes
                      ---
                       |- nothing useful from server

Я не знаю, что он возвращает в 5 байтах, но он не похож на TLS (слишком короткий для сообщения TLS). Это может быть некоторая неправильная конфигурация сервера, которую нельзя увидеть из той части конфигурации, которую вы показали. Это также может быть какая-то промежуточная коробка (брандмауэр, балансировщик нагрузки ...), нарушающая соединение. Также может случиться так, что вы не подключаетесь к ожидаемому серверу (т. Е. example.com не разрешается к вашему фактическому серверу).

Я рекомендую вам сначала проверить сам сервер (т. Е. localhost) и, если это работает, отойти дальше от сервера с вашими проверками. Вы также можете выполнить захват пакета и посмотреть, что вы найдете в 5 байтах, полученных клиентом.

...