Haproxy отказ квитирования SSL

У меня есть проблема с одним определенным клиентом, который поражает мою haproxy подсистему балансировки нагрузки. Сообщение об ошибке в журналах haproxy:]

incoming_ssl/1: SSL handshake failure

Рассматриваемый клиент, кажется, некоторый клиент Java Apache или сервер ActiveMq - так или иначе, это - удаленный сервер, который мы имеем контроль дрейфа нуля.

Используя ssldump, я вижу эти строки:

11 5  0.4152 (0.1649)  C>S  Alert
    level           fatal
    value           certificate_unknown
11    0.4152 (0.0000)  C>S  TCP FIN

Используя завихрение / браузер все выглядит хорошо, и я сделал некоторые проверки ssl, которые не сообщают о таких проблемах.

Я разделил как можно больше из своего haproxy файла конфигурации для диагностирования проблемы. Я даже протестировал удар бэкенда (NodeJS) сервер непосредственно, который хорошо работает - клиент может соединиться. Это - defo haproxy, я просто не знаю, как я могу зафиксировать его.

Мой основной haproxy conf файл похож на это:

frontend incoming_ssl
  bind *:443 ssl crt /etc/haproxy/cert.key ca-file /etc/haproxy/cert.pem ciphers ECDHE-RSA-AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
  acl flume hdr_dom(host) -i dom.ain.com
  use_backend flume if flume

backend flume :80
  server flume 10.40.14.1:8000 weight 1 maxconn 1000 check inter 2000

Попытались использовать ssl бэкенд также - та же проблема. Попытались удалить раздел шифра также.

Использую godaddy сертификаты, которые кажутся хорошо для завихрения / браузеры если немного раздражения для установки.

Есть ли что-то еще, что я могу сделать для получения этой работы? Выполняю выпуск 26 haproxy 1.5 последнего достижения, но также попробовали другие недавние выпуски.

1
задан 10 June 2014 в 20:48
3 ответа

Этот клиент не признает сертификат действительным.

Промежуточные сертификаты Godaddy должны быть включены в файл, загруженный "crt".

Убедитесь, что вся цепочка сертификатов правильно включена в серверный сертификат:

crt /etc/haproxy/cert.key

Из документации haproxy для ключевого слова "crt":

Некоторые CA (например, Godaddy) предлагают выпадающий список типов серверов, которые не включают HAProxy при получении сертификата. Если это произойдет не забудьте выбрать веб-сервер, который, по мнению ЦА, требует промежуточный CA (для Годэдди, выбор Apache Tomcat получит правильный пучок, но многие другие, например nginx, приводят к неправильному пучку что не будет работать для некоторых клиентов).

3
ответ дан 3 December 2019 в 18:45

Я думаю, вы ошибаетесь насчет того, что делает ca-file.

Сделайте следующее:

cd /etc/haproxy
cat cert.pem cert.key > cert.bundle

bind *:443 ssl crt /etc/haproxy/cert.bundle ciphers ECDHE-RSA-AES256-SHA:-RC4-SHA:HIGH:!MD5:!aNULL:!EDH
0
ответ дан 3 December 2019 в 18:45

Я также установил haproxy (2016-05) и в журнале я получил ошибку

ssl / 1: Ошибка установления связи SSL

Похоже, что ssh v2 ждет сервера, прежде чем говорить , из-за чего haproxy ошибочно принял его за ssl-соединение.

Исправление заключалось в добавлении следующих строк в ~ / .ssh / config

Host my.host.com
  HostName my.host.com
  Port 443
  User MeMe
  ProxyCommand openssl s_client -connect my.host.com:443 -quiet
0
ответ дан 3 December 2019 в 18:45

Теги

Похожие вопросы