Создать HTTP-политику
Количество HTTP-политик в правиле и количество условий в HTTP-политике не ограничено.
Панель управления
OpenStack CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Балансировщики → вкладка Балансировщики.
-
Откройте страницу балансировщика.
-
Откройте карточку правила.
-
Нажмите Добавить новую политику.
-
Выберите параметр, по которому будет проверяться запрос:
HOSTNAMEдля доменного имени илиPATHдля проверки пути. -
Выберите тип совпадения с контрольным значением:
EQUAL TO— совпадает;STARTS WITH— начинается с;ENDS WITH— заканчивается на;CONTAINS— содержит;REGEX— регулярное выражение.
-
Введите контрольное значение для проверки. Если на шаге 7 вы выбрали условие
REGEX, введите регулярное выражение. -
Опционально: чтобы добавить в политику еще одно условие, нажмите Новое условие и наст ройте его. Если в политике несколько условий, то для попадания под политику запрос должен соответствовать каждому из них.
-
Укажите, куда нужно перенаправить подходящий запрос:
- Направить на целевую группу — выберите целевую группу или создайте новую с протоколом HTTP;
- Редирект на URL — введите целевой URL, который будет полностью заменять URL запросов, включая протокол, доменное имя, путь и параметры запроса;
- Редирект на префикс URL — введите часть URL, на которую нужно заменять протокол и доменное имя в URL запросов. Например, если ввести
https://example.com/new, то запрос наhttps://example.com/apiбудет переадресован наhttps://example.com/new/api
Чтобы не принимать запросы, подходящие под политику, выберите Отклонить трафик.
-
Введите имя политики или оставьте сформированное по умолчанию.
-
Нажмите Добавить.
-
Создайте HTTP-политику в правиле:
openstack loadbalancer l7policy create \
--action <action> \
[--redirect-url <url> | --redirect-prefix <prefix_url> | --redirect-pool <pool> ]
--position <position> \
--name <policy_name> \
<listener>Укажите:
-
<action>— действие для балансировки трафика:REDIRECT_TO_URL— полностью заменять URL запроса, включая протокол, доменное имя, путь и параметры;REDIRECT_PREFIX— заменять протокол и доменное имя в URL запроса;REDIRECT_TO_POOL— направлять на целевую группу,REJECT— отклонять;
-
<policy_name>— имя L7-политики; -
куда нужно направить трафик:
--redirect-url <url>— полный URL для перенаправления. Укажите, если выбрано действиеREDIRECT_TO_URL;--redirect-prefix <prefix_url>— префикс URL, на который нужно заменить протокол и домен в запросе, напримерhttps://example.com. Укажите, если выбрано действиеREDIRECT_PREFIX;--redirect-pool <pool>— ID или имя целевой группы. Укажите, если выбрано действиеREDIRECT_TO_POOL. Список можно посмотреть с помощью командыopenstack loadbalancer pool list. Если у вас еще нет целевой группы, создайте ее.
-
--position <position>— позиция политики в правиле. Укажите, если в правиле будет несколько политик с одинаковым действием, политика с позицией1применится первой из них; -
<listener>— ID или имя правила. Список можно посмотреть с помощью командыopenstack loadbalancer listener list.
-
-
Создайте условие в HTTP-политике:
openstack loadbalancer l7rule create \
--compare-type <compare_type> \
--type <type> \
--value <value> \
<policy>Укажите:
-
<compare_type>— тип совпадения с контрольным значением:EQUAL TO— совпадает;STARTS WITH— начинается с;ENDS WITH— заканчивается на;CONTAINS— содержит;REGEX— регулярное выражение;
-
<type>— параметр в запросе для проверки:HOST_NAME,PATH,COOKIE,FILE_TYPE,HEADER; -
<value>— контрольное значение; -
<policy>— ID или имя L7-политики, которую создали на шаге 2.
-