TLS(SSL)-сертификаты балансировщика нагрузки
Для работы с HTTPS-трафиком на балансировщик необходимо добавить TLS(SSL)-сертификат, чтобы балансировщик мог читать HTTPS-запросы и использовать информацию протокола HTTP для правильной балансировки. Терминация TLS-сертификата происходит на балансировщике, балансировщик передает данные серверам по HTTP.
Балансировщик нагрузки работает с TLS(SSL)-сертификатами из менеджера секретов. Вы можете:
- выпустить бесплатный Let's Encrypt® сертификат, в том числе Wildcard (для домена и поддоменов);
- добавить пользовательский сертификат, поддерживаются сертификаты с опциями SAN (один сертификат для нескольких доменов) и Wildcard.
Сертификаты с пустым полем CN
(Common Name) не поддерживаются в балансировщиках нагрузки.
При перевыпуске или обновлении сертификата в менеджере он автоматически обновится на балансировщике. Сессии со старым серти фикатом будут прерваны и переустановлены с новым сертификатом в течение трех часов после обновления сертификата. Для большинства протоколов переустановка сессий происходит незаметно для конечных пользователей.
Сертификат добавляется при создании правила. В панели управления для правила можно выбрать только один сертификат. Если вам нужно добавить в правило несколько сертификатов, сертификаты нужно добавить через Openstack CLI.
Добавить несколько TLS(SSL)-сертификатов для балансировщика
-
Добавьте TLS(SSL)-сертификаты в менеджере секретов — выпустите Let's Encrypt® сертификаты или загрузите пользовательские. Сертификаты с пустым полем
CN
(Common Name) не поддерживаются в облачных балансировщиках нагрузки. -
Добавьте сертификаты — создайте новое правило для балансировщика нагрузки или обновите существующее:
Создать правило
Обновить правило
openstack loadbalancer listener create \
-v --protocol-port 443 \
--protocol TERMINATED_HTTPS \
--name <listener_name> \
--default-tls-container=<certificate_uuid_1> \
--sni-container-refs <certificate_uuid_1> <certificate_uuid_2> \
-- <loadbalancer>