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>Укажите:
<listener_name>
— имя правила;<certificate_uuid_1>
,<certificate_uuid_2>
— ID сертификатов. Можно скопировать в панели управления: в разделе Облачная платформа → Менеджер секретов → вкладка Сертификаты → в меню сертификата выберите Скопировать UUID;<loadbalancer>
— ID или имя балансировщика. Список можно посмотреть с помощью командыopenstack loadbalancer list
.
openstack loadbalancer listener set \
--sni-container-refs <certificate_uuid_1> <certificate_uuid_2> \
-- <listener>Укажите:
<certificate_uuid_1>
,<certificate_uuid_2>
— ID сертификатов. Можно скопировать в панели управления: в разделе Облачная платформа → Менеджер секретов → вкладка Сертификаты → в меню сертификата выберите Скопировать UUID;<listener>
— ID или имя правила. Список можно посмотреть с помощью командыopenstack loadbalancer listener list
.