Настроить редирект HTTP → HTTPS
Панель управления
OpenStack CLI
-
Убедитесь, что создали балансировщик нагрузки с HTTPS-правилом, которое будет принимать запросы к HTTPS-версии сайта. Доступные балансировщики можно посмотреть в панели управления в разделе Облачная платформа → Балансировщики.
-
В панели управления перейдите в раздел Облачная платформа → Балансировщики.
-
Откройте вкладку Балансировщики → страница балансировщика.
-
Нажмите Создать правило.
-
Выберите протокол приема трафика — HTTP. Будет автоматически выбран стандартный порт 80, на котором балансировщик будет слушать трафик.
-
Выберите целевую группу по умолчанию — туда будет направляться трафик, который не попал под HTTP-политики в правиле. Если в списке нет доступных целевых групп, нажмите Новая целевая группа и создайте целевую группу с протоколом назначения трафика HTTP и портом 80. Если вы хотите отбрасывать трафик, не попавший под HTTP-политику, выберите Без целевой группы.
-
Отметьте заголовки HTTP-запросов, которые нужно передавать на серверы.
-
Чтобы создать в правиле HTTP-политику, нажмите Добавить новую политику.
-
Выберите условие проверки: HOSTNAME — EQUAL TO.
-
Введите имя домена, например,
example.com
. -
Выберите действие Редирект на префикс URL.
-
Введите префикс URL — часть, которая будет заменять протокол и доменное имя в пришедшем запросе, например,
https://example.com
. -
Опционально: измените имя политики или оставьте сформированное по умолчанию.
-
Нажмите Добавить.
-
Опционально: откройте блок Расширенные настройки правила и укажите настройки соединений:
- для входящих запросов на балансировщик — укажите таймаут соединения и максимум соединений;
- для запросов от балансировщика к серверам — укажите таймаут соединения, таймаут неактивности и таймаут ожидания TCP-пакетов.
-
Нажмите Создать.
-
Убедитесь, что создали балансировщик нагрузки с HTTPS-правилом, которое будет принимать запросы к HTTPS-версии сайта. Доступные балансировщики можно посмотреть с помощью команды
openstack loadbalancer list
-
Создайте правило для балансировщика с протоколом HTTP и портом 80:
openstack loadbalancer listener create \
--name <listener_name> \
--protocol HTTP \
--protocol-port 80 \
--default-pool <default_pool> \
<loadbalancer>Укажите:
<listener_name>
— имя правила;- опционально:
--default-pool <default_pool>
— ID или имя целевой группы по умолчанию, куда будет направляться трафик, не попавший под HTTP-политики в правиле. Список групп можно посмотреть с помощьюopenstack loadbalancer pool list
. Если у вас нет подходящей целевой группы, создайте ее. Если не указать параметр, не попавший под правило трафик будет отбрасываться; <loadbalancer>
— ID или имя балансировщика нагрузки. Список можно посмотреть с помощью командыopenstack loadbalancer list
-
Создайте HTTP-политику в правиле:
openstack loadbalancer l7policy create \
--action REDIRECT_PREFIX \
--redirect-prefix <prefix_domain_name> \
--name <policy_name> \
<listener>Укажите:
<prefix_domain_name>
— домен видаhttps://example.com/
;<policy_name>
— имя L7-политики;<listener>
— ID или имя правила. Список можно посмотреть с помощьюopenstack loadbalancer listener list
-
Создайте условие в HTTP-политике:
openstack loadbalancer l7rule create \
--compare-type EQUAL_TO \
--type HOST_NAME \
--value <domain_name> \
<policy>Укажите:
<domain_name>
— домен видаexample.com
;<policy>
— ID или имя L7-политики. Список можно посмотреть с помощьюopenstack loadbalancer l7policy list