create-rule
Описание
Создаёт правило для указанного слушателя. Слушатель должен быть связан с балансировщиком нагрузки приложений.
Каждое правило состоит из приоритета, одного или нескольких действий и одного или нескольких условий. Правила оцениваются в порядке приоритета, от наименьшего значения к наибольшему. Когда условия правила выполняются, выполняются его действия. Если условия ни для одного правила не выполняются, выполняются действия по умолчанию для правила по умолчанию. Дополнительную информацию см. в разделе Правила слушателей в руководстве Application Load Balancers.
См. также: Документацию API AWS
Синтаксис
create-rule
--listener-arn <value>
--conditions <value>
--priority <value>
--actions <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--listener-arn (строка)
--conditions (список)
Условия.
(структура)
Информация о условии для правила.
Каждое правило может необязательно включать не более одного из следующих условий: http-request-method , host-header , path-pattern , и source-ip . Каждое правило также может необязательно включать один или несколько из следующих условий: http-header и query-string . Обратите внимание, что значение условия не может быть пустым.
Дополнительную информацию см. в разделе квоты для ваших балансировщиков нагрузки приложений.
Поле -> (строка)
Поле в HTTP-запросе. Возможные значения:
http-headerhttp-request-methodhost-headerpath-patternquery-stringsource-ip
Значения -> (список)
Значение условия. Указывайте только тогда, когда Field равно host-header или path-pattern . В качестве альтернативы, чтобы указать несколько имён хостов или несколько шаблонов путей, используйте HostHeaderConfig или PathPatternConfig .
Если Field равно host-header и вы не используете HostHeaderConfig , вы можете указать одно имя хоста (например, my.example.com) в Values . Имя хоста нечувствительно к регистру, может иметь длину до 128 символов и может содержать следующие символы.
- A-Z, a-z, 0-9
-
- .
-
- (соответствует 0 или более символам)
- ? (соответствует ровно 1 символу)
Если Field равно path-pattern и вы не используете PathPatternConfig , вы можете указать один шаблон пути (например, /img/*) в Values . Шаблон пути чувствителен к регистру, может иметь длину до 128 символов и может содержать следующие символы.
- A-Z, a-z, 0-9
- _ - . $ / ~ “ ‘ @ : +
- & (используя &)
-
- (соответствует 0 или более символам)
- ? (соответствует ровно 1 символу)
(строка)
HostHeaderConfig -> (структура)
Информация для условия host header. Указывайте только тогда, когда Field равно host-header .
Значения -> (список)
Имена хостов. Максимальный размер каждого имени — 128 символов. Сравнение нечувствительно к регистру. Поддерживаются следующие символы подстановки: * (соответствует 0 или более символам) и ? (соответствует ровно 1 символу).
Если вы указываете несколько строк, условие выполняется, если одно из имён хостов соответствует строке.
(строка)
PathPatternConfig -> (структура)
Информация для условия шаблона пути. Указывайте только тогда, когда Field равно path-pattern .
Значения -> (список)
Шаблоны путей для сравнения с URL-адресом запроса. Максимальный размер каждой строки — 128 символов. Сравнение чувствительно к регистру. Поддерживаются следующие символы подстановки: * (соответствует 0 или более символам) и ? (соответствует ровно 1 символу).
Если вы указываете несколько строк, условие выполняется, если один из них соответствует URL-адресу запроса. Шаблон пути сравнивается только с путем URL-адреса, а не с его строкой запроса. Чтобы сравнить с строкой запроса, используйте QueryStringConditionConfig.
(строка)
HttpHeaderConfig -> (структура)
Информация для условия HTTP-заголовка. Указывайте только тогда, когда Field равно http-header .
HttpHeaderName -> (строка)
Имя поля HTTP-заголовка. Максимальный размер — 40 символов. Имя заголовка нечувствительно к регистру. Разрешённые символы указаны в RFC 7230. Символы подстановки не поддерживаются.
Вы не можете использовать условие HTTP-заголовка для указания заголовка хоста. Используйте HostHeaderConditionConfig для указания условия заголовка хоста.
Значения -> (список)
Строки для сравнения со значением HTTP-заголовка. Максимальный размер каждой строки — 128 символов. Строки сравнения нечувствительны к регистру. Поддерживаются следующие символы подстановки: * (соответствует 0 или более символам) и ? (соответствует ровно 1 символу).
Если один и тот же заголовок появляется несколько раз в запросе, мы ищем их в порядке, пока не найдем совпадение.
Если вы указываете несколько строк, условие выполняется, если одна из строк соответствует значению HTTP-заголовка. Чтобы потребовать, чтобы все строки совпадали, создайте одно условие на каждую строку.
(строка)
QueryStringConfig -> (структура)
Информация для условия строки запроса. Указывайте только тогда, когда Field равно query-string .
Значения -> (список)
Ключ/значение или значения для поиска в строке запроса. Максимальный размер каждой строки — 128 символов. Сравнение нечувствительно к регистру. Поддерживаются следующие символы подстановки: * (соответствует 0 или более символам) и ? (соответствует ровно 1 символу). Чтобы найти в строке запроса буквенный символ '*' или '?', вам нужно экранировать эти символы в Values с помощью символа ''.
Если вы указываете несколько пар ключ/значение или значений, условие выполняется, если одно из них найдено в строке запроса.
(структура)
Информация об паре ключ/значение.
Ключ -> (строка)
Значение -> (строка)
HttpRequestMethodConfig -> (структура)
Информация для условия метода HTTP. Указывайте только тогда, когда Field равно http-request-method .
Значения -> (список)
Имя метода запроса. Максимальный размер — 40 символов. Разрешенные символы — A-Z, дефис (-) и подчёркивание (_). Сравнение чувствительно к регистру. Символы подстановки не поддерживаются, поэтому имя метода должно точно совпадать.
Если вы указываете несколько строк, условие выполняется, если одно из строк соответствует методу HTTP-запроса. Рекомендуется обрабатывать запросы GET и HEAD одинаково, поскольку ответ на запрос HEAD может быть кэширован.
(строка)
SourceIpConfig -> (структура)
Информация для условия источника IP. Указывайте только тогда, когда Field равно source-ip .
Значения -> (список)
IP-адреса источника в формате CIDR. Можно использовать как IPv4, так и IPv6-адреса. Символы подстановки не поддерживаются.
Если вы указываете несколько адресов, условие выполняется, если IP-адрес источника запроса соответствует одному из блоков CIDR. Это условие не выполняется для адресов в заголовке X-Forwarded-For. Чтобы искать адреса в заголовке X-Forwarded-For, используйте HttpHeaderConditionConfig.
Общее количество значений должно быть меньше или равно пяти.
(строка)
Синтаксис JSON:
[
{
"Field": "string",
"Values": ["string", ...],
"HostHeaderConfig": {
"Values": ["string", ...]
},
"PathPatternConfig": {
"Values": ["string", ...]
},
"HttpHeaderConfig": {
"HttpHeaderName": "string",
"Values": ["string", ...]
},
"QueryStringConfig": {
"Values": [
{
"Key": "string",
"Value": "string"
}
...
]
},
"HttpRequestMethodConfig": {
"Values": ["string", ...]
},
"SourceIpConfig": {
"Values": ["string", ...]
}
}
...
]
--priority (целое число)
--actions (список)
Действия.
(структура)
Информация об действии.
В каждой правиле должна быть ровно одна из следующих типов действий: forward , fixed-response , или redirect , и это должно быть последнее выполняемое действие.
Тип -> (строка)
TargetGroupArn -> (строка)
Type является forward и вы хотите перенаправить трафик на одну целевую группу. Чтобы перенаправить трафик на одну или несколько целевых групп, используйте ForwardConfig вместо этого.AuthenticateOidcConfig -> (структура)
[HTTPS-серверы] Информация об поставщике идентификации, совместимом с OpenID Connect (OIDC). Указывается только тогда, когда Type является authenticate-oidc .
Issuer -> (строка)
AuthorizationEndpoint -> (строка)
TokenEndpoint -> (строка)
UserInfoEndpoint -> (строка)
ClientId -> (строка)
ClientSecret -> (строка)
UseExistingClientSecret в значение true.SessionCookieName -> (строка)
Scope -> (строка)
Набор пользовательских утверждений, запрашиваемых у IdP. По умолчанию – openid .
Чтобы проверить, какие значения scope поддерживает ваш IdP, и как разделять несколько значений, обратитесь к документации вашего IdP.
SessionTimeout -> (целое число)
AuthenticationRequestExtraParams -> (массив)
Параметры запроса (до 10) для включения в запрос перенаправления на конечную точку авторизации.
key -> (строка)
value -> (строка)
OnUnauthenticatedRequest -> (строка)
Поведение, если пользователь не авторизован. Возможные значения:
- deny- Возвращает ошибку HTTP 401 Unauthorized.
- allow- Разрешает перенаправление запроса на целевой ресурс.
- authenticate- Перенаправляет запрос на конечную точку авторизации IdP. Это значение по умолчанию.
UseExistingClientSecret -> (булево)
AuthenticateCognitoConfig -> (структура)
[HTTPS-серверы] Информация для использования Amazon Cognito для аутентификации пользователей. Указывается только тогда, когда Type является authenticate-cognito .
UserPoolArn -> (строка)
UserPoolClientId -> (строка)
UserPoolDomain -> (строка)
SessionCookieName -> (строка)
Scope -> (строка)
Набор пользовательских утверждений, запрашиваемых у IdP. По умолчанию – openid .
Чтобы проверить, какие значения scope поддерживает ваш IdP, и как разделять несколько значений, обратитесь к документации вашего IdP.
SessionTimeout -> (целое число)
AuthenticationRequestExtraParams -> (массив)
Параметры запроса (до 10) для включения в запрос перенаправления на конечную точку авторизации.
key -> (строка)
value -> (строка)
OnUnauthenticatedRequest -> (строка)
Поведение, если пользователь не авторизован. Возможные значения:
- deny- Возвращает ошибку HTTP 401 Unauthorized.
- allow- Разрешает перенаправление запроса на целевой ресурс.
- authenticate- Перенаправляет запрос на конечную точку авторизации IdP. Это значение по умолчанию.
Order -> (целое число)
RedirectConfig -> (структура)
[Application Load Balancer] Информация для создания действия перенаправления. Указывается только тогда, когда Type является redirect .
Protocol -> (строка)
Port -> (строка)
Host -> (строка)
Path -> (строка)
Query -> (строка)
StatusCode -> (строка)
FixedResponseConfig -> (структура)
[Application Load Balancer] Информация для создания действия, возвращающего пользовательский HTTP-ответ. Указывается только тогда, когда Type является fixed-response .
MessageBody -> (строка)
StatusCode -> (строка)
ContentType -> (строка)
Тип содержимого.
Допустимые значения: text/plain | text/css | text/html | application/javascript | application/json
ForwardConfig -> (структура)
Информация для создания действия, распределяющего запросы между одной или несколькими целевыми группами. Для Network Load Balancers можно указать одну целевую группу. Указывается только тогда, когда Type является forward . Если вы указываете как ForwardConfig, так и TargetGroupArn, вы можете указать только одну целевую группу, используя ForwardConfig, и она должна быть той же целевой группой, что и в TargetGroupArn.
TargetGroups -> (список)
Целевые группы. Для Network Load Balancers можно указать одну целевую группу.
(структура)
Информация о том, как трафик будет распределяться между несколькими целевыми группами в правиле перенаправления.
TargetGroupArn -> (строка)
Weight -> (целое число)
TargetGroupStickinessConfig -> (структура)
Целевая группа привязки для правила.
Enabled -> (булево)
DurationSeconds -> (целое число)
Синтаксис JSON:
[
{
"Type": "forward"|"authenticate-oidc"|"authenticate-cognito"|"redirect"|"fixed-response",
"TargetGroupArn": "string",
"AuthenticateOidcConfig": {
"Issuer": "string",
"AuthorizationEndpoint": "string",
"TokenEndpoint": "string",
"UserInfoEndpoint": "string",
"ClientId": "string",
"ClientSecret": "string",
"SessionCookieName": "string",
"Scope": "string",
"SessionTimeout": long,
"AuthenticationRequestExtraParams": {"string": "string"
...},
"OnUnauthenticatedRequest": "deny"|"allow"|"authenticate",
"UseExistingClientSecret": true|false
},
"AuthenticateCognitoConfig": {
"UserPoolArn": "string",
"UserPoolClientId": "string",
"UserPoolDomain": "string",
"SessionCookieName": "string",
"Scope": "string",
"SessionTimeout": long,
"AuthenticationRequestExtraParams": {"string": "string"
...},
"OnUnauthenticatedRequest": "deny"|"allow"|"authenticate"
},
"Order": integer,
"RedirectConfig": {
"Protocol": "string",
"Port": "string",
"Host": "string",
"Path": "string",
"Query": "string",
"StatusCode": "HTTP_301"|"HTTP_302"
},
"FixedResponseConfig": {
"MessageBody": "string",
"StatusCode": "string",
"ContentType": "string"
},
"ForwardConfig": {
"TargetGroups": [
{
"TargetGroupArn": "string",
"Weight": integer
}
...
],
"TargetGroupStickinessConfig": {
"Enabled": true|false,
"DurationSeconds": integer
}
}
}
...
]
--tags (список)
Теги, которые нужно назначить правилу.
(структура)
Информация о теге.
Key -> (строка)
Value -> (строка)
Краткая запись синтаксиса:
Key=string,Value=string ...
Синтаксис JSON:
[
{
"Key": "string",
"Value": "string"
}
...
]
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, указанному в --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения из JSON. Невозможно передавать произвольные двоичные значения с помощью значения JSON, так как строка будет интерпретироваться буквально. Это нельзя указывать вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит каркас JSON в стандартный вывод без отправки запроса к API. Если указано без значения или со значением input, выводится пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, будет выведен пример входного YAML, который можно использовать с --cli-input-yaml. Если указано значение output, проверяются входные данные команды и возвращается пример выходного JSON для этой команды. Сгенерированный каркас JSON не является стабильным между версиями AWS CLI и не гарантирует обратной совместимости в сгенерированном каркасе JSON.
Общие параметры
--debug (boolean)
Включить отладку.
--endpoint-url (string)
Переопределить значение URL по умолчанию для команды данным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один запрос для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определённый профиль из файла учетных данных.
--region (string)
Регион для использования. Переопределяет настройки конфигурации/окружения.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/выключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.
--ca-bundle (string)
Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения к сокету в секундах. Если значение установлено в 0, подключение к сокету будет выполняться блокирующим образом без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (string)
Стиль форматирования для двоичных блоков. По умолчанию используется формат base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде закодированной строки base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое соответствует двоичному блоку fileb:// всегда будет обрабатываться как двоичное и использовать содержимое файла напрямую независимо от cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (boolean)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Создание правила с условием пути и действием переадресации
Следующий create-rule пример создаёт правило, которое перенаправляет запросы на указанный целевой балансировщик, если URL содержит указанный шаблон.
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \
--priority 5 \
--conditions file://conditions-pattern.json
--actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
Содержимое conditions-pattern.json:
[
{
"Field": "path-pattern",
"PathPatternConfig": {
"Values": ["/images/*"]
}
}
]
Пример 2: Создание правила с условием хоста и фиксированным ответом
Следующий create-rule пример создаёт правило, которое предоставляет фиксированный ответ, если имя хоста в заголовке хоста совпадает с указанным именем хоста.
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \
--priority 10 \
--conditions file://conditions-host.json \
--actions file://actions-fixed-response.json
Содержимое conditions-host.json
[
{
"Field": "host-header",
"HostHeaderConfig": {
"Values": ["*.example.com"]
}
}
]
Содержимое actions-fixed-response.json
[
{
"Type": "fixed-response",
"FixedResponseConfig": {
"MessageBody": "Hello world",
"StatusCode": "200",
"ContentType": "text/plain"
}
}
]
Пример 3: Создание правила с условием IP-адреса источника, действием аутентификации и действием переадресации
Следующий create-rule пример создаёт правило, которое выполняет аутентификацию пользователя, если IP-адрес источника совпадает с указанным IP-адресом, и перенаправляет запрос на указанный целевой балансировщик, если аутентификация прошла успешно.
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2 \
--priority 20 \
--conditions file://conditions-source-ip.json \
--actions file://actions-authenticate.json
Содержимое conditions-source-ip.json
[
{
"Field": "source-ip",
"SourceIpConfig": {
"Values": ["192.0.2.0/24", "198.51.100.10/32"]
}
}
]
Содержимое actions-authenticate.json
[
{
"Type": "authenticate-oidc",
"AuthenticateOidcConfig": {
"Issuer": "https://idp-issuer.com",
"AuthorizationEndpoint": "https://authorization-endpoint.com",
"TokenEndpoint": "https://token-endpoint.com",
"UserInfoEndpoint": "https://user-info-endpoint.com",
"ClientId": "abcdefghijklmnopqrstuvwxyz123456789",
"ClientSecret": "123456789012345678901234567890",
"SessionCookieName": "my-cookie",
"SessionTimeout": 3600,
"Scope": "email",
"AuthenticationRequestExtraParams": {
"display": "page",
"prompt": "login"
},
"OnUnauthenticatedRequest": "deny"
},
"Order": 1
},
{
"Type": "forward",
"TargetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:880185128111:targetgroup/cli-test/642a97ecb0e0f26b",
"Order": 2
}
]
Вывод
Правила -> (список)
Информация о правиле.
(структура)
Информация о правиле.
RuleArn -> (строка)
Priority -> (строка)
Conditions -> (список)
Условиям. Каждое правило может включать ноль или одно из следующих условий: http-request-method , host-header , path-pattern , и source-ip , и ноль или более из следующих условий: http-header и query-string .
(структура)
Информация об условии для правила.
Каждое правило может необязательно включать до одного из каждого из следующих условий: http-request-method , host-header , path-pattern , и source-ip . Каждое правило также может необязательно включать одно или более из каждого из следующих условий: http-header и query-string . Обратите внимание, что значение для условия не может быть пустым.
Для получения дополнительной информации см. Квоты для ваших Application Load Balancers .
Field -> (строка)
Поле в запросе HTTP. Следующие являются возможными значениями:
http-headerhttp-request-methodhost-headerpath-patternquery-stringsource-ip
Values -> (список)
Значение условия. Указывается только когда Field является host-header или path-pattern . В качестве альтернативы, для указания нескольких имен хостов или нескольких шаблонов путей используйте HostHeaderConfig или PathPatternConfig .
Если Field является host-header, и вы не используете HostHeaderConfig, вы можете указать единственное имя хоста (например, my.example.com) в Values . Имя хоста нечувствительно к регистру, может иметь длину до 128 символов и может содержать любые из следующих символов.
- A-Z, a-z, 0-9
-
- .
-
- (сопоставляет 0 или более символов)
- ? (сопоставляет ровно 1 символ)
Если Field является path-pattern, и вы не используете PathPatternConfig, вы можете указать единственный шаблон пути (например, /img/*) в Values . Шаблон пути чувствителен к регистру, может иметь длину до 128 символов и может содержать любые из следующих символов.
- A-Z, a-z, 0-9
- _ - . $ / ~ “ ‘ @ : +
- & (используя &)
-
- (сопоставляет 0 или более символов)
- ? (сопоставляет ровно 1 символ)
(строка)
HostHeaderConfig -> (структура)
Информация для условия имени хоста. Указывается только когда Field является host-header .
Values -> (список)
Имена хостов. Максимальный размер каждого имени составляет 128 символов. Сравнение нечувствительно к регистру. Поддерживаются следующие символы подстановки: * (сопоставляет 0 или более символов) и ? (сопоставляет ровно 1 символ).
Если вы указываете несколько строк, условие выполняется, если одно из строк соответствует имени хоста.
(строка)
PathPatternConfig -> (структура)
Информация для условия шаблона пути. Указывается только когда Field является path-pattern .
Values -> (список)
Шаблоны путей для сравнения с URL-адресом запроса. Максимальный размер каждой строки составляет 128 символов. Сравнение чувствительно к регистру. Поддерживаются следующие символы подстановки: * (сопоставляет 0 или более символов) и ? (сопоставляет ровно 1 символ).
Если вы указываете несколько строк, условие выполняется, если одна из них соответствует URL-адресу запроса. Шаблон пути сравнивается только с путем URL-адреса, а не со строкой запроса. Для сравнения со строкой запроса используйте QueryStringConditionConfig .
(строка)
HttpHeaderConfig -> (структура)
Информация для условия HTTP-заголовка. Указывается только когда Field является http-header .
HttpHeaderName -> (строка)
Имя поля HTTP-заголовка. Максимальный размер составляет 40 символов. Имя заголовка нечувствительно к регистру. Разрешенные символы указаны в RFC 7230. Символы подстановки не поддерживаются.
Вы не можете использовать условие HTTP-заголовка для указания заголовка хоста. Используйте HostHeaderConditionConfig для указания условия заголовка хоста.
Values -> (список)
Строки для сравнения со значением HTTP-заголовка. Максимальный размер каждой строки составляет 128 символов. Строки сравнения нечувствительны к регистру. Поддерживаются следующие символы подстановки: * (сопоставляет 0 или более символов) и ? (сопоставляет ровно 1 символ).
Если один и тот же заголовок появляется несколько раз в запросе, мы ищем их в порядке, пока не найдем совпадение.
Если вы указываете несколько строк, условие выполняется, если одна из строк соответствует значению HTTP-заголовка. Для того, чтобы потребовать, чтобы все строки совпадали, создайте по одному условию на каждую строку.
(строка)
QueryStringConfig -> (структура)
Информация для условия строки запроса. Указывается только когда Field является query-string .
Values -> (список)
Ключ/значение или значения для поиска в строке запроса. Максимальный размер каждой строки составляет 128 символов. Сравнение нечувствительно к регистру. Поддерживаются следующие символы подстановки: * (сопоставляет 0 или более символов) и ? (сопоставляет ровно 1 символ). Для поиска буквального символа '*' или '?' в строке запроса, вы должны экранировать эти символы в Values с помощью символа "'.
Если вы указываете несколько пар ключ/значение или значений, условие выполняется, если одно из них найдено в строке запроса.
(структура)
Информация о паре ключ/значение.
Key -> (строка)
Value -> (строка)
HttpRequestMethodConfig -> (структура)
Информация для условия HTTP-метода. Указывается только когда Field является http-request-method .
Values -> (список)
Имя метода запроса. Максимальный размер составляет 40 символов. Разрешенные символы — A-Z, дефис (-) и подчеркивание (_). Сравнение чувствительно к регистру. Символы подстановки не поддерживаются; поэтому имя метода должно точно совпадать.
Если вы указываете несколько строк, условие выполняется, если одна из строк соответствует методу HTTP-запроса. Рекомендуется обрабатывать запросы GET и HEAD одинаково, так как ответ на запрос HEAD может быть кэширован.
(строка)
SourceIpConfig -> (структура)
Информация для условия IP-адреса источника. Указывается только когда Field является source-ip .
Values -> (список)
IP-адреса источника в формате CIDR. Вы можете использовать как IPv4, так и IPv6 адреса. Символы подстановки не поддерживаются.
Если вы указываете несколько адресов, условие выполняется, если IP-адрес источника запроса соответствует одному из блоков CIDR. Это условие не выполняется адресами в заголовке X-Forwarded-For. Для поиска адресов в заголовке X-Forwarded-For используйте HttpHeaderConditionConfig .
Общее количество значений должно быть меньше или равно пяти.
(строка)
Actions -> (список)
Действия. Каждое правило должно содержать ровно один из следующих типов действий: forward , redirect , или fixed-response , и оно должно быть последним выполняемым действием.
(структура)
Информация об действии.
Каждое правило должно содержать ровно один из следующих типов действий: forward , fixed-response , или redirect , и оно должно быть последним выполняемым действием.
Тип -> (строка)
TargetGroupArn -> (строка)
Type является forward и вы хотите направить трафик на одну целевую группу. Чтобы направить трафик на одну или несколько целевых групп, используйте ForwardConfig.AuthenticateOidcConfig -> (структура)
[Слушатели HTTPS] Информация об поставщике удостоверений, соответствующем спецификации OpenID Connect (OIDC). Указывается только когда Type является authenticate-oidc.
Issuer -> (строка)
AuthorizationEndpoint -> (строка)
TokenEndpoint -> (строка)
UserInfoEndpoint -> (строка)
ClientId -> (строка)
ClientSecret -> (строка)
UseExistingClientSecret в значение true.SessionCookieName -> (строка)
Scope -> (строка)
Набор пользовательских утверждений, которые необходимо запросить у поставщика удостоверений. По умолчанию openid.
Для проверки поддерживаемых значений scope у вашего поставщика удостоверений и того, как разделить несколько значений, см. документацию для вашего поставщика удостоверений.
SessionTimeout -> (целое число)
AuthenticationRequestExtraParams -> (карта)
Параметры запроса (до 10) для включения в запрос переадресации к конечной точке авторизации.
ключ -> (строка)
значение -> (строка)
OnUnauthenticatedRequest -> (строка)
Поведение, если пользователь не авторизован. Возможные значения:
- deny- Вернуть ошибку HTTP 401 Unauthorized.
- allow- Разрешить перенаправление запроса на целевой сервер.
- authenticate- Перенаправить запрос к конечной точке авторизации поставщика удостоверений. Это значение по умолчанию.
UseExistingClientSecret -> (булево)
AuthenticateCognitoConfig -> (структура)
[Слушатели HTTPS] Информация для использования Amazon Cognito для аутентификации пользователей. Указывается только когда Type является authenticate-cognito.
UserPoolArn -> (строка)
UserPoolClientId -> (строка)
UserPoolDomain -> (строка)
SessionCookieName -> (строка)
Scope -> (строка)
Набор пользовательских утверждений, которые необходимо запросить у поставщика удостоверений. По умолчанию openid.
Для проверки поддерживаемых значений scope у вашего поставщика удостоверений и того, как разделить несколько значений, см. документацию для вашего поставщика удостоверений.
SessionTimeout -> (целое число)
AuthenticationRequestExtraParams -> (карта)
Параметры запроса (до 10) для включения в запрос переадресации к конечной точке авторизации.
ключ -> (строка)
значение -> (строка)
OnUnauthenticatedRequest -> (строка)
Поведение, если пользователь не авторизован. Возможные значения:
- deny- Вернуть ошибку HTTP 401 Unauthorized.
- allow- Разрешить перенаправление запроса на целевой сервер.
- authenticate- Перенаправить запрос к конечной точке авторизации поставщика удостоверений. Это значение по умолчанию.
Order -> (целое число)
RedirectConfig -> (структура)
[Application Load Balancer] Информация для создания действия переадресации. Указывается только когда Type является redirect.
Protocol -> (строка)
Port -> (строка)
Host -> (строка)
Path -> (строка)
Query -> (строка)
StatusCode -> (строка)
FixedResponseConfig -> (структура)
[Application Load Balancer] Информация для создания действия, возвращающего пользовательский HTTP ответ. Указывается только когда Type является fixed-response.
MessageBody -> (строка)
StatusCode -> (строка)
ContentType -> (строка)
Тип содержимого.
Допустимые значения: text/plain | text/css | text/html | application/javascript | application/json
ForwardConfig -> (структура)
Информация для создания действия, распределяющего запросы по одной или нескольким целевым группам. Для сетевых балансировщиков можно указать одну целевую группу. Указывается только когда Type является forward. Если вы указываете как ForwardConfig, так и TargetGroupArn, вы можете указать только одну целевую группу, используя ForwardConfig, и она должна быть той же целевой группой, что и в TargetGroupArn.
TargetGroups -> (список)
Целевые группы. Для сетевых балансировщиков можно указать одну целевую группу.
(структура)
Информация о том, как трафик будет распределяться между несколькими целевыми группами в правиле переадресации.
TargetGroupArn -> (строка)
Weight -> (целое число)
TargetGroupStickinessConfig -> (структура)
Привязка к целевой группе для правила.
Enabled -> (булево)
DurationSeconds -> (целое число)
IsDefault -> (булево)
© Copyright 2025, Amazon Web Services. Created using Sphinx.