прерывистая ошибка рукопожатия SSL nginx

С недели или около того у меня периодически возникают проблемы с SSL на моем сервере Nginx.

Я знаю, что есть несколько других тем по этой проблеме в stackoverflow, но ни один из этих ответов не подходит.

1 Это настоящая проблема, потому что, когда я работаю над сайтом, он внезапно умирает и выдает ошибку SSL в Chrome (версия 44.0.2403.155):

Ошибка подключения SSL ERR_SSL_PROTOCOL_ERROR

И на ФФ тоже бывает.

2 Память на сервере не заканчивается (никаких признаков того, что OOM запущен, и, кажется, все в порядке)

3 Нет доступных обновлений ни для Nginx (1.8.0), ни для OpenSSL (OpenSSL 1.0.1e 11 февраля 2013 г.), работающих на Debian (7.8).

4 У меня не установлены какие-либо специальные сторонние библиотеки (только стандартные nginx, mariadb, php через настройку fpm без почтового сервера)

В моем журнале есть такие записи:

[crit] 15592 # 15592: * 317414 SSL_do_handshake () не удалось (SSL: ошибка: 1408A0D7: SSL > подпрограммы: SSL3_GET_CLIENT_HELLO: отсутствует требуемый шифр) во время установления связи SSL,

На сервере установлен NTP, чтобы убедиться, что время сервера синхронизировано (правильно?).

Когда я сталкиваюсь с проблемой, даю ей несколько минут и перезагружаю страницу, она снова работает, но это продолжается. Кажется, это не часто случается с другими людьми, просматривающими мои журналы.


person StevenFlecha    schedule 16.08.2015    source источник


Ответы (2)


Решение, с которым я столкнулся:

У меня было несколько серверных блоков, использующих один и тот же сертификат SSL для нескольких специальных поддоменов, и удаление этого полностью решило проблему.

Таким образом, в основном кажется, что я могу использовать CERT только в одном блоке (даже если это сертификат с подстановочным знаком). Я думаю, что проблема не в сертификате, а в том, что Nginx обращается к файлам CERT или что-то в этом роде. Использование сертификата или регулярного выражения для нескольких поддоменов действительно сработало (поэтому имелся только 1 серверный блок с сертификатом, но затем определялся домен как *.domain.com)

person StevenFlecha    schedule 15.01.2016
comment
Итак, вы добавили еще один блок сервера с server_name *.domain.com с конфигурацией SSL, а затем удалили конфигурацию SSL из других блоков сервера? - person AJMaxwell; 30.09.2016
comment
@AJMaxwell Раньше у меня было несколько блоков серверов для разных поддоменов. Я объединил их все вместе, используя *.domain.com, а затем просто позаботился о разнице для каждого поддомена в этом одном блоке сервера. - person StevenFlecha; 04.10.2016

Вы можете попытаться изучить это, чтобы решить эту проблему.

https://forum.nginx.org/read.php?2,256373

person Kanishk Dudeja    schedule 12.01.2016