Я использую AWS ELB в качестве точки входа (в режиме прокси), чтобы загрузить баланс между двумя HAProxy-es за ним, откуда трафик идет дальше к брокеру MQTT.Завершение TLS за AWS ELB в HAProxy (режим tcp)
Эти 2 HAProxies отвечают за завершение TLS клиента (двухсторонняя TLS).
Сертификаты вида работ. Я тестировал локальную настройку между двумя серверами. Я смог опубликовать с 2-сторонним TLS, правильно закончить его и опубликовать сообщение в mqtt. Проблема возникает при перемещении всего на AWS.
Я использую самозаверяющий корневой ЦС, промежуточный ЦС, сертификат сервера и клиентские сертификаты. Использование эллиптической кривой ...
Проблема может быть связана с серверами CN. Я думаю, что это должно быть то же самое, что и имя хоста, связанное с такими инструментами, как mosquitto_pub.
Ошибка, которую я получаю, это ошибка TLS, отладка которой -> ssl. Почему-то я не могу произвести более подробные ошибки. Использование openssl с s_client и debug для вывода максимальной отладки. Которые производят мне неудачу рукопожатия ssl.
Я бы очень признателен за любые намеки и предложения.
Заранее спасибо.
Tomaz
АМС ELB и HAProxy обеспечивают очень аналогичные функциональные возможности. В чем причина использования обоих? Почему бы не заставить ELB напрямую перейти на сервер MQTT? Также я не вижу сообщение об ошибке, о котором вы говорите, - не так много? – njh
@njh мотивация, вероятно, то, что OP означает «2-сторонняя TLS» - аутентификация сертификата клиента back-edd. ELB не поддерживает это напрямую, он должен быть в прозрачном режиме TCP и позволить back-end (HAProxy в этом случае) обрабатывать TLS. –
Да, CN в сертификате сервера должен соответствовать имени хоста, которое клиент использует для доступа к серверу. Вам также необходимо иметь * no * cert на ELB. Вероятно, вы временно удалите ELB из микса, чтобы вы только устраняли ошибку только по одной вещи за раз. –