Создать HTTP-политику
Количество HTTP-политик в правиле и количество условий в HTTP-политике не ограничено.
Панель управления
OpenStack CLI
-
В панели управления перейдите в раздел Облачная платформа → Балансировщики.
-
Откройте вкладку Балансировщики → страница балансировщика.
-
Откройте карточку правила.
-
Нажмите Добавить новую политику.
-
Выберите параметр, по которому будет проверяться запрос:
HOSTNAME
для доменного имени илиPATH
для проверки пути. -
Выберите тип совпадения с контрольным значением:
EQUAL TO
— совпадает;STARTS WITH
— начинается с;ENDS WITH
— заканчивается на;CONTAINS
— содержит;REGEX
— регулярное выражение.
-
Введите контрольное значение для проверки. Если на шаге 6 вы выбрали условие
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.
-