Ошибка рукопожатия Nginx SSL

Я получаю следующую ошибку в журнале моего сервера:

[крит] 915 # 0: * 46701 SSL_do_handshake () не удалось (SSL: ошибка: 140A1175: процедуры SSL: SSL_BYTES_TO_CIPHER_LIST: несоответствующий запасной вариант) во время установления связи SSL, клиент: 187.50.199.66, сервер: 0.0.0.0:443

Что это значит ? Как я могу это решить?

Помогите мне, пожалуйста.


person Ligo George    schedule 05.12.2014    source источник
comment
Я видел подобную ошибку когда-то в прошлом с моим NginX. Тогда обновление NginX до последней версии помогло решить проблему. МОЖЕТ быть, вам следует попробовать обновить NginX до последней доступной версии.   -  person slayedbylucifer    schedule 05.12.2014
comment
Обновил..но проблема осталась..   -  person Ligo George    schedule 05.12.2014
comment
сообщение об ошибке было добавлено в эту фиксацию в openssl: .openssl.org/gitweb/, который кажется несовместимым по крайней мере с некоторыми браузерами.   -  person citrin    schedule 18.12.2014
comment
Похоже, это ошибка в Nginx, и она регистрируется как критическая: trac.nginx.org/nginx/ билет/662   -  person Carson Reinke    schedule 29.01.2015
comment
Была такая же проблема. Исправил, заменив listen 443 ssl; с этими двумя строчками: listen 443; SSL включен; Однако я не знаю, какое это имеет отношение к проблеме. Может быть, было и что-то еще (это был nginx внутри контейнера докеров).   -  person rudi    schedule 17.02.2015


Ответы (1)


Похоже, что это связано с ошибкой безопасности в OpenSSL. Это не имеет ничего общего с ВАШЕЙ конфигурацией nginx. Это просто указывает на то, что на вашем сервере есть клиент, который неправильно обрабатывает рукопожатия SSL.

Что такое рукопожатие SSL?

В основном это обмен некоторыми сообщениями между клиентом и сервером в начале каждого сеанса. Он состоит из 6 фаз:

  1. Клиент привет
  2. Привет сервер
  3. Аутентификация и Pre-Master Secret
  4. Расшифровка и главный секрет
  5. Сгенерировать сеансовые ключи
  6. Шифрование с помощью сеансового ключа

Дополнительные сведения см. на странице http://www.symantec.com/connect/blogs/how-does-ssl-work-what-ssl-handshake

Подводя итог: ваш сервер выдает это предупреждение, чтобы указать, что какой-то клиент (не)преднамеренно нарушает эту процедуру (например, преждевременно завершает соединение или пытается открыть его несколько раз за один сеанс).

Как это решить?

Если вы действительно хотите избавиться от этого сообщения (это не рекомендуется), вы можете изменить уровень регистрации ошибок 9в вашем файле nginx.conf на что-то вроде:

error_log logs/error.log alert;

*доступные уровни: отладка | информация | уведомление | предупредить | ошибка | крит | предупреждение | появляться

http://nginx.org/en/docs/ngx_core_module.html#error_log

person Paweł Tomkiel    schedule 02.03.2015