У нас есть два сайта, работающих на одном апаче:
www-example1-com, www-example2-com
www-example1-com был первым существующим сайтом, получил сертификат lets-encrypt и отлично работает.
www-example2-com — второй сайт, который также получил сертификат lets-encrypt.
www-example1-com работает нормально. www-example2-com вызывает ошибку в Firefox и Chromium
SSL_ERROR_NO_CYPHER_OVERLAP в Firefox
ERR_SSL_VERSION_OR_CIPHER_MISMATCH в Chromium
Что я сделал до сих пор:
- Я создал сертификат для www-example2
- Я расширил сертификат www-example1, чтобы он учитывался и для www-example2.
- Я расширил example2.conf в /etc/apache2/sites, доступный фрагментом кода из
https://ssl-config.mozilla.org/
- Я удалил ключ и сертификат для www.example2 и собрал их заново.
- Я проверил example1-conf, example2-conf, 000-default-le-ssl.conf, apache2.conf.
- https://www.ssllabs.com/ssltest/analyze.html?d=example2.com --> Оценка не удалась: не удалось установить связь с защищенным сервером.
Журнал ошибок apache выводит эту строку: [ssl:info] [pid 19288] (70014) Найден конец файла: [клиент 192.168.0.9:53597] AH01991: Ошибка чтения входного фильтра SSL.
Обратите внимание: есть SNI, который кажется правильно настроенным, но у меня нет прямого доступа к нему.
В каждом случае сообщение об ошибке не изменилось.
000-по умолчанию-ле-ssl.conf:
<IfModule mod_ssl.c>
<VirtualHost *:443>
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
ServerAdmin webmaster@localhost
Protocols h2 h2c http/1.1
DocumentRoot /var/www/html/
ServerName www.example1.com
ServerAlias example1.com
Protocols h2 h2c http/1.1
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride all
Order allow,deny
allow from all
</Directory>
# added 01.04.2019 END
<Directory /var/www/html/>
Options -Indexes +FollowSymlinks
AllowOverride All
Require all granted
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#SSLEngine off
#Include /etc/letsencrypt/options-ssl-apache.conf
#Header always set Content-Security-Policy upgrade-insecure-requests
Include /etc/letsencrypt/options-ssl-apache.conf
#SSLCertificateFile /etc/letsencrypt/live/www.example2.com/fullchain.pem
#SSLCertificateKeyFile /etc/letsencrypt/live/www.example2.com/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/www.example1.com-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example1.com-0001/privkey.pem
</VirtualHost>
</IfModule>
пример2.conf
<VirtualHost *:80>
Protocols h2 http/1.1
ServerAdmin [email protected]
DocumentRoot /var/www/html1/example2/
ServerName www.example2.com
ServerAlias example2.com
<Directory /var/www/html1/example2>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example2.com [OR]
RewriteCond %{SERVER_NAME} =example2.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
Protocols h2 h2c http/1.1
DocumentRoot /var/www/html1/example2
ServerName www.example2.com
ServerAlias example2.com
<Directory /var/www/html1>
Options -Indexes +FollowSymLinks
AllowOverride all
Order allow,deny
allow from all
</Directory>
<Directory /var/www/html1/example2>
Options -Indexes +FollowSymlinks
AllowOverride All
Require all granted
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
# SSLHonorCipherOrder off
# SSLSessionTickets off
#SSLUseStapling On
#SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/www.example1.com-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example1.com-0001/privkey.pem
</VirtualHost>
</IfModule>
Вывод openssl:
ПОДКЛЮЧЕН(00000003)
140386018971712: ошибка: 14094410: подпрограммы SSL: ssl3_read_bytes: ошибка рукопожатия предупреждения sslv3:../ssl/record/rec_layer_s3.c:1407: номер предупреждения SSL 40
---
нет доступного однорангового сертификата
---
Имена ЦС сертификата клиента не отправлены
---
SSL-рукопожатие прочитало 7 байт и записало 198 байт.
Проверка: ОК
---
Новый, (НЕТ), Шифр (НЕТ)
Безопасное повторное согласование НЕ поддерживается
Сжатие: НЕТ
Расширение: НЕТ
ALPN не согласован
SSL-сессия:
Протокол: TLSv1.2
Шифр: 0000
Идентификатор сессии:
Идентификатор сеанса-ctx:
Мастер ключ:
Идентификация PSK: нет
Подсказка идентификации PSK: нет
Имя пользователя SRP: нет
Время начала: 1623677307
Время ожидания: 7200 (сек)
Подтвердите код возврата: 0 (хорошо)
Расширенный главный секрет: нет
Может ли кто-нибудь помочь найти ошибку? Пожалуйста, сообщите мне, если вам нужна дополнительная информация.
Заранее спасибо.