Назад | Перейти на главную страницу

Haproxy 1.5 - Использование нескольких сертификатов (подстановочный знак)

Я запускаю несколько приложений за Haproxy 1.5. У нас есть подписанный подстановочный сертификат SSL для наших доменов: * .mysite.com

Теперь нам нужно реализовать Домены 4-го уровня: * .dev.mysite.com Сертификат SSL, настроенный для * .mysite.com, в этом случае работать не будет. Поэтому я создал самоподписанный сертификат для общего имени: * .dev.mysite.com

И сейчас я пытаюсь добавить этот сертификат в Haproxy. Но кажется что учитывается только первый сертификат для * .mysite.com от Haproxy и * .dev.mysite.com не кажется интерпретируемым.

Моя конфигурация:

frontend mainHttps
    bind *:433 ssl crt /etc/ssl/private/sites/combined.pem
    [...]

куда Combined.pem содержит подписанный сертификат для * .mysite.com и самоподписанный сертификат для * .dev.mysite.com

Примечание: Поведение Haproxy 1.5 в отношении привязки сертифицированного SSL отличается от поведения Haproxy 1.6. как объяснено здесь

Я не уверен, связана ли проблема с версией Haproxy или проблема связана с использованием подстановочного сертификата * .mysite.com, который переходит на * .dev.mysite.com

Редактировать: Я также попытался использовать следующий синтаксис:

frontend mainHttps
    bind *:433 ssl crt /etc/ssl/private/sites/
    [...]

куда / и т.д. / SSL / частные / сайты / содержит два разных сертификата pem. Этот синтаксис не работает.

Я не нашел простого решения с Haproxy 1.5, но я применил обходной путь, который решил мою проблему, как описано ниже. использование нескольких балансировщиков нагрузки. Это точно не идеально, поэтому моим окончательным решением было обновить до Haproxy 1.6.

Использование нескольких балансировщиков нагрузки:

Это преимущество работы с инфраструктурой высокой доступности. Я использую плавающий IP-адрес в качестве основной точки входа, которая затем достигнет доступного балансировщика нагрузки через Haproxy.

Поэтому я назначил своим службам балансировщик нагрузки, который будет использовать самоподписанный сертификат * .dev.mysite.com.

frontend mainHttps
    bind *:433 ssl crt /etc/ssl/private/sites/dev.mysite.pem
    [...]

И я отредактировал записи DNS, чтобы * .dev.mysite.com был перенаправлен на этот конкретный балансировщик нагрузки, который теперь предназначен для обслуживания моего домена 4-го уровня.

Обновление до Haproxy 1.6:

Поскольку приведенный ниже обходной путь является дорогостоящим решением, вы можете рассмотреть возможность обновления до Haproxy 1.6, который решит проблему, разрешив привязку нескольких сертификатов:

frontend mainHttps
    bind *:433 ssl crt /etc/ssl/private/dev.mysite.pem crt /etc/ssl/private/mysite.pem
    [...]