2016-12-12 9 views
1

Я использую AWS ELB в качестве точки входа (в режиме прокси), чтобы загрузить баланс между двумя HAProxy-es за ним, откуда трафик идет дальше к брокеру MQTT.Завершение TLS за AWS ELB в HAProxy (режим tcp)

  1. Эти 2 HAProxies отвечают за завершение TLS клиента (двухсторонняя TLS).

  2. Сертификаты вида работ. Я тестировал локальную настройку между двумя серверами. Я смог опубликовать с 2-сторонним TLS, правильно закончить его и опубликовать сообщение в mqtt. Проблема возникает при перемещении всего на AWS.

  3. Я использую самозаверяющий корневой ЦС, промежуточный ЦС, сертификат сервера и клиентские сертификаты. Использование эллиптической кривой ...

  4. Проблема может быть связана с серверами CN. Я думаю, что это должно быть то же самое, что и имя хоста, связанное с такими инструментами, как mosquitto_pub.

  5. Ошибка, которую я получаю, это ошибка TLS, отладка которой -> ssl. Почему-то я не могу произвести более подробные ошибки. Использование openssl с s_client и debug для вывода максимальной отладки. Которые производят мне неудачу рукопожатия ssl.

Я бы очень признателен за любые намеки и предложения.

Заранее спасибо.

Tomaz

+0

АМС ELB и HAProxy обеспечивают очень аналогичные функциональные возможности. В чем причина использования обоих? Почему бы не заставить ELB напрямую перейти на сервер MQTT? Также я не вижу сообщение об ошибке, о котором вы говорите, - не так много? – njh

+0

@njh мотивация, вероятно, то, что OP означает «2-сторонняя TLS» - аутентификация сертификата клиента back-edd. ELB не поддерживает это напрямую, он должен быть в прозрачном режиме TCP и позволить back-end (HAProxy в этом случае) обрабатывать TLS. –

+0

Да, CN в сертификате сервера должен соответствовать имени хоста, которое клиент использует для доступа к серверу. Вам также необходимо иметь * no * cert на ELB. Вероятно, вы временно удалите ELB из микса, чтобы вы только устраняли ошибку только по одной вещи за раз. –

ответ

0

Я решил это, используя функцию SubjectAltName. Я отредактировал openssl.cnf и добавлю новый раздел [alt_names] и позже его свяжу в конфигурации. Под alt_names я добавил 1 DNS-ключ и 2 IP-адреса. Найдено с man x509v3_config.

Лучший, Tomaz