Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tipos de condiciones para las reglas de escucha
Las condiciones definen los criterios que deben cumplir las solicitudes entrantes para que surta efecto una regla de escucha. Si una solicitud cumple las condiciones de una regla, la solicitud se gestiona según lo especificado en las acciones de la regla. Cada condición de regla tiene un tipo e información de configuración. Los balanceadores de carga de aplicaciones admiten los siguientes tipos de condiciones para las reglas de escucha.
Tipos de condiciones
host-header
-
Ruta en función de el nombre de host de cada solicitud. Para obtener más información, consulte Condiciones de host.
http-header
-
Ruta en función de los encabezados HTTP de cada solicitud. Para obtener más información, consulte Condiciones de los encabezados HTTP.
http-request-method
-
Ruta en función de el método de solicitud HTTP de cada solicitud. Para obtener más información, consulte Condiciones de método de solicitud HTTP.
path-pattern
-
Ruta basada en los patrones de ruta de la solicitud URLs. Para obtener más información, consulte Condiciones de ruta.
query-string
-
Ruta basada en key/value pares o valores de las cadenas de consulta. Para obtener más información, consulte Condiciones de cadena de consulta.
source-ip
-
Ruta en función de la dirección IP de origen de cada solicitud. Para obtener más información, consulte Condiciones de dirección IP de origen.
Condiciones básicas
-
Cada regla puede incluir también hasta una de las siguientes condiciones:
host-header
,http-request-method
,path-pattern
ysource-ip
. Cada regla puede incluir también una o más de las siguientes condiciones:http-header
yquery-string
. -
Puede especificar hasta tres evaluaciones de coincidencia por condición. Por ejemplo, para cada condición
http-header
, puede especificar hasta tres cadenas que comparar con el valor del encabezado HTTP en la solicitud. La condición se satisface si una de las cadenas coincide con el valor del encabezado HTTP. Para requerir que todas las cadenas sean una coincidencia, cree una condición por evaluación de coincidencia. -
Puede especificar hasta cinco evaluaciones de coincidencia por regla. Por ejemplo, puede crear una regla con cinco condiciones donde cada condición tenga una evaluación de coincidencia.
-
Puede incluir caracteres comodín en las evaluaciones de coincidencia para
http-header
,host-header
,path-pattern
yquery-string
. Hay un límite de cinco caracteres comodín por regla. -
Las reglas se aplican solo a los caracteres ASCII visibles; se excluyen los caracteres de control (0x00 a 0x1f y 0x7f).
Demostraciones
Para ver demostraciones, consulte Direccionamiento de solicitudes avanzado
Condiciones de los encabezados HTTP
Puede utilizar las condiciones de encabezado HTTP para configurar reglas que dirijan solicitudes basadas en los encabezados HTTP para la solicitud. Puede especificar los nombres de campos de encabezado HTTP estándar o personalizados. El nombre del encabezado y la evaluación de coincidencia no distinguen entre mayúsculas y minúsculas. Los siguientes caracteres comodín se admiten en las cadenas de comparación: * (coincide con 0 o más caracteres) y ? (coincide exactamente con 1 carácter). Los caracteres comodín no se admiten en el nombre del encabezado.
Cuando el atributo Application Load Balancer routing.http.drop_invalid_header_fields
esté habilitado, eliminará los nombres de encabezado que no se ajusten a las expresiones regulares ()A-Z,a-z,0-9
. También se pueden agregar nombres de encabezado que no se ajusten a las expresiones regulares.
ejemplo Ejemplo de condición de encabezado HTTP para AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. La condición siguiente se satisface mediante solicitudes con un encabezado usuario-agente que coincida con una de las cadenas especificadas.
[ { "Field": "http-header", "HttpHeaderConfig": { "HttpHeaderName": "User-Agent", "Values": ["*Chrome*", "*Safari*"] } } ]
Condiciones de método de solicitud HTTP
Puede utilizar las condiciones de método de solicitud HTTP para configurar reglas que dirijan solicitudes basadas en el método de solicitud HTTP de la solicitud. Puede especificar métodos HTTP estándar o personalizados. La evaluación de coincidencia distingue entre mayúsculas y minúsculas. Los caracteres comodín no se admiten; por tanto, el nombre del método tiene que ser una coincidencia exacta.
Le recomendamos direccionar las solicitudes GET y HEAD de la misma forma, porque la respuesta a una solicitud HEAD se podría almacenar en caché.
ejemplo Ejemplo de condición de método HTTP para AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. La condición siguiente se satisface mediante solicitudes que utilizan el método especificado.
[ { "Field": "http-request-method", "HttpRequestMethodConfig": { "Values": ["CUSTOM-METHOD"] } } ]
Condiciones de host
Puede utilizar las condiciones de host para definir reglas que direccionen solicitudes en función del nombre del host en el encabezado del host (lo que también se conoce como direccionamiento basado en host). Esto permite admitir varios subdominios y diferentes dominios de nivel superior a través de un único equilibrador de carga.
Los nombre de host no distinguen entre mayúsculas y minúsculas, su longitud máxima es de 128 caracteres y pueden contener cualquiera de los siguientes caracteres:
-
A–Z, a–z, 0–9
-
- .
-
* (coincide con 0 o más caracteres)
-
? (coincide exactamente con 1 carácter)
Debe incluir al menos un carácter “.”. Solo puede contener caracteres alfabéticos detrás del carácter “.” final.
Ejemplos de nombres de host
-
example.com
-
test.example.com
-
*.example.com
La regla *.example.com coincide con test.example.com pero no coincide con example.com.
ejemplo Ejemplo de condición de encabezado de host para AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. La condición siguiente se satisface mediante solicitudes con un encabezado de host que coincide con la cadena especificada.
[ { "Field": "host-header", "HostHeaderConfig": { "Values": ["*.example.com"] } } ]
Condiciones de ruta
Puede utilizar las condiciones de ruta para definir reglas que direccionen las solicitudes en función de la dirección URL de la solicitud (lo que también se conoce como direccionamiento basado en ruta).
El patrón de ruta se aplica únicamente a la ruta de la dirección URL, no a sus parámetros de consulta. Se aplica solo a los caracteres ASCII visibles; se excluyen los caracteres de control (0x00 a 0x1f y 0x7f).
La evaluación de la regla se realiza solo después de que se produzca la normalización del URI.
Los patrones de ruta distinguen entre mayúsculas y minúsculas, su longitud máxima es de 128 caracteres y pueden contener cualquiera de los siguientes caracteres.
-
A–Z, a–z, 0–9
-
_ - . $ / ~ " ' @ : +
-
& (usando &)
-
* (coincide con 0 o más caracteres)
-
? (coincide exactamente con 1 carácter)
Si la versión del protocolo es gRPC, las condiciones pueden ser específicas de un paquete, un servicio o un método.
Ejemplos de patrones de ruta HTTP
-
/img/*
-
/img/*/pics
Ejemplos de patrones de ruta gRPC
-
/package
-
/package.service
-
/package.service/method
El patrón de ruta se utiliza para direccionar solicitudes, no para modificarlas. Por ejemplo, si una ruta tiene el patrón de /img/*
, la regla reenviará una solicitud para /img/picture.jpg
al grupo de destino especificado como una solicitud de /img/picture.jpg
.
ejemplo Ejemplo de condición de patrón de ruta para el AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. La condición siguiente se satisface mediante solicitudes con una dirección URL que contenga la cadena especificada.
[ { "Field": "path-pattern", "PathPatternConfig": { "Values": ["/img/*"] } } ]
Condiciones de cadena de consulta
Puede usar las condiciones de la cadena de consulta para configurar reglas que enruten las solicitudes en función de los key/value pares o valores de la cadena de consulta. La evaluación de coincidencia no distingue entre mayúsculas y minúsculas. Se admiten los siguientes caracteres comodín: * (coincide con 0 o más caracteres) y ? (coincide exactamente con 1 carácter).
ejemplo Ejemplo de condición de cadena de consulta para AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. Las solicitudes con una cadena de consulta que incluya un key/value par de «version=v1" o cualquier clave configurada como «ejemplo» cumplen la siguiente condición.
[ { "Field": "query-string", "QueryStringConfig": { "Values": [ { "Key": "version", "Value": "v1" }, { "Value": "*example*" } ] } } ]
Condiciones de dirección IP de origen
Puede utilizar las condiciones de dirección IP de origen para configurar reglas que direccionen solicitudes en función de la dirección IP de origen de la solicitud. La dirección IP se debe especificar en formato CIDR. Puede utilizar ambas IPv4 direcciones y. IPv6 No se admiten caracteres comodín. No puede especificar el CIDR 255.255.255.255/32
para la condición de la regla IP de origen.
Si un cliente está detrás de un proxy, esta es la dirección IP del proxy, no la dirección IP del cliente.
Las direcciones del X-Forwarded-For encabezado no cumplen esta condición. Para buscar direcciones en el X-Forwarded-For encabezado, utilice una http-header
condición.
ejemplo Ejemplo de condición de IP de origen para el AWS CLI
Puede especificar condiciones al crear o modificar una regla. Para obtener más información, consulte los comandos create-rule y modify-rule. La condición siguiente se satisface mediante solicitudes con una dirección IP de origen en uno de los bloques de CIDR especificados.
[ { "Field": "source-ip", "SourceIpConfig": { "Values": ["192.0.2.0/24", "198.51.100.10/32"] } } ]