Condiciones de coincidencia de las reglas de Azure Front Door
En un motor de reglas de Azure Front Door y un conjunto de reglas de Azure Front Door Estándar/Premium, una regla consta de alguna o ninguna combinación de condiciones de coincidencia y de una acción. En este artículo se muestran descripciones detalladas de las condiciones de coincidencia que puede usar en un conjunto de reglas o un motor de reglas de Azure Front Door.
La primera parte de una regla es una condición de coincidencia o un conjunto de condiciones de coincidencia. Una regla puede contener hasta 10 condiciones de coincidencia. Una condición de coincidencia identifica tipos específicos de solicitudes para los que se realizan las acciones definidas. Si usa varias condiciones de coincidencia, estas se agruparán mediante la lógica AND. Para todas las condiciones de coincidencia que admiten varios valores, se usa el operador lógico OR.
Puede usar una condición de coincidencia para:
- Filtrar las solicitudes en función de una dirección IP específica, un país o una región.
- Filtrar las solicitudes por la información de encabezado.
- Filtrar las solicitudes de los dispositivos móviles o de escritorio.
- Filtrar las solicitudes de nombre de archivo y extensión de archivo de solicitud.
- Filtrar las solicitudes de la dirección URL de la solicitud, el protocolo, la ruta de acceso, la cadena de consulta, los argumentos POST, etc.
Importante
Azure Front Door Estándar/Prémium (versión preliminar) está disponible actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Tipo de dispositivo
Use la condición de coincidencia de tipo de dispositivo para identificar las solicitudes realizadas desde un dispositivo móvil o un dispositivo de escritorio.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator |
|
| Value | Mobile, Desktop |
Ejemplo
En este ejemplo, coinciden todas las solicitudes que se han detectado como procedentes de un dispositivo móvil.
Argumentos POST
Use la condición de coincidencia de argumentos POST para identificar las solicitudes en función de los argumentos proporcionados en el cuerpo de una solicitud POST. Una condición de coincidencia única coincide con un único argumento del cuerpo de la solicitud POST. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Nota
La condición de coincidencia de argumentos POST funciona con el tipo de contenido application/x-www-form-urlencoded.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Argumentos POST | Valor de cadena que representa el nombre del argumento POST. |
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor del argumento POST que debe coincidir. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes POST en las que se proporciona un argumento customerName en el cuerpo de la solicitud y donde el valor de customerName comienza por la letra J o K. Se usa una transformación de mayúsculas y minúsculas para convertir los valores de entrada a mayúsculas, de modo que coinciden todos los valores que empiezan por J, j, K y k.
Cadena de consulta
Utilice la condición de coincidencia de cadena de consulta para identificar las solicitudes que contienen una cadena de consulta específica. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Nota
La cadena de consulta completa coincide como una sola cadena, sin el signo ? inicial.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Cadena de consulta | Uno o más valores de cadena o entero que representan el valor de la cadena de consulta que debe coincidir. No incluya el signo ? al principio de la cadena de consulta. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes en las que la cadena de consulta contiene la cadena language=en-US. Se quiere que la condición de coincidencia distinga entre mayúsculas y minúsculas, por lo que no se transforman las mayúsculas y minúsculas.
Dirección remota
La condición de coincidencia de dirección remota identifica las solicitudes en función de la ubicación del solicitante o la dirección IP. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
- Use la notación CIDR al especificar los bloques de direcciones IP. Esto significa que la sintaxis de un bloque de direcciones IP es la dirección IP base seguida por una barra diagonal y el tamaño del prefijo. Por ejemplo:
- Ejemplo IPv4:
5.5.5.64/26coincide con las solicitudes que llegan desde la dirección 5.5.5.64 hasta la 5.5.5.127. - Ejemplo IPv6:
1:2:3:/48coincide con las solicitudes que lleguen desde la dirección 1:2:3:0:0:0:0:0 hasta la 1:2:3:ffff:ffff:ffff:ffff:ffff.
- Ejemplo IPv4:
- Cuando se especifican varias direcciones IP y bloques de direcciones IP, se aplica el operador "OR" lógico.
- Ejemplo de IPv4: si agrega dos direcciones IP,
1.2.3.4y10.20.30.40, la condición coincide para las solicitudes que llegan desde las direcciones 1.2.3.4 o 10.20.30.40. - Ejemplo de IPv6: si agrega dos direcciones IP,
1:2:3:4:5:6:7:8y10:20:30:40:50:60:70:80, la condición coincide para las solicitudes que llegan desde las direcciones 1:2:3:4:5:6:7:8 o 10:20:30:40:50:60:70:80.
- Ejemplo de IPv4: si agrega dos direcciones IP,
- Dirección remota representa la dirección IP del cliente original que es de la conexión de red o normalmente el encabezado de solicitud X-Forwarded-For si el usuario está detrás de un proxy.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator |
|
| Value |
|
Ejemplo
En este ejemplo, coinciden todas las solicitudes en las que la solicitud no se originó en los Estados Unidos.
Cuerpo de la solicitud
La condición de coincidencia de cuerpo de la solicitud identifica las solicitudes en función de un texto específico que aparece en el cuerpo de la solicitud. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Nota
Si un cuerpo de solicitud supera el tamaño de 64 KB, solo se tendrán en cuenta los primeros 64 KB para la condición de coincidencia de cuerpo de la solicitud.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor del texto del cuerpo de la solicitud que debe coincidir. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes en las que el cuerpo de la solicitud contiene la cadena ERROR. Se transforma el cuerpo de la solicitud a mayúsculas antes de evaluar la coincidencia, por lo que error y otras variaciones de mayúsculas y minúsculas también desencadenarán esta condición de coincidencia.
Solicitar nombre de archivo
La condición de coincidencia de nombre de archivo de la solicitud identifica las solicitudes que incluyen el nombre de archivo especificado en la dirección URL de la solicitud. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor del nombre de archivo de la solicitud que debe coincidir. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde el nombre de archivo de la solicitud es media.mp4. Se transforma el nombre de archivo a minúsculas antes de evaluar la coincidencia, por lo que MEDIA.MP4 y otras variaciones de mayúsculas y minúsculas también desencadenarán esta condición de coincidencia.
Solicitar extensión de archivo
La condición de coincidencia de extensión de archivo de la solicitud identifica las solicitudes que incluyen la extensión de archivo especificada en el nombre de archivo de la dirección URL de la solicitud. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Nota
No incluya un punto inicial. Por ejemplo, use html en lugar de .html.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor de la extensión de archivo de la solicitud que debe coincidir. No incluya un punto inicial. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde la extensión de archivo de la solicitud es pdf o docx. Se transforma la extensión de archivo de la solicitud a minúsculas antes de evaluar la coincidencia, por lo que PDF, DocX y otras variaciones de mayúsculas y minúsculas también desencadenarán esta condición de coincidencia.
Encabezado de solicitud
La condición de coincidencia de encabezado de solicitud identifica las solicitudes que incluyen un encabezado específico en la solicitud. Puede usar esta condición de coincidencia para comprobar si existe un encabezado con independencia de su valor o para comprobar si el encabezado coincide con un valor especificado. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Nombre de encabezado | Valor de cadena que representa el nombre del argumento POST. |
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor del encabezado de solicitud que debe coincidir. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes en las que la solicitud contiene un encabezado denominado MyCustomHeader, independientemente de su valor.
Método de solicitud
La condición de coincidencia de método de solicitud identifica las solicitudes que usan el método de solicitud HTTP especificado. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator |
|
| Método de solicitud | Uno o más métodos HTTP entre: GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde la solicitud usa el método DELETE.
Ruta de acceso de solicitud
La condición de coincidencia de ruta de acceso de solicitud identifica las solicitudes que incluyen la ruta de acceso especificada en la dirección URL de la solicitud. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Nota
La ruta de acceso es la parte de la dirección URL después del nombre de host y una barra diagonal. Por ejemplo, en la dirección URL https://www.contoso.com/files/secure/file1.pdf, la ruta de acceso es files/secure/file1.pdf.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor de la ruta de acceso de solicitud que debe coincidir. No incluya la barra diagonal inicial. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde la ruta de acceso de archivo de solicitud empieza por files/secure/. Se transforma la extensión de archivo de la solicitud a minúsculas antes de evaluar la coincidencia, por lo que las solicitudes de files/SECURE/ y otras variaciones de mayúsculas y minúsculas también desencadenarán esta condición de coincidencia.
Protocolo de solicitud
La condición de coincidencia de protocolo de solicitud identifica las solicitudes que usan el protocolo especificado (HTTP o HTTPS).
Nota
El protocolo a veces también se denomina esquema.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator |
|
| Método de solicitud | HTTP, HTTPS |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde la solicitud usa el protocolo HTTP.
URL de la solicitud
Identifica las solicitudes que coinciden con la dirección URL especificada. Se evalúa la dirección URL completa, incluido el protocolo y la cadena de consulta, pero no el fragmento. Puede especificar varios valores para la coincidencia, que se combinarán mediante el operador lógico OR.
Sugerencia
Cuando use esta condición de regla, asegúrese de incluir el protocolo. Por ejemplo, use https://www.contoso.com en lugar de solo www.contoso.com.
Propiedades
| Propiedad | Valores admitidos |
|---|---|
| Operator | Cualquier operador de la lista de operadores estándar. |
| Value | Uno o más valores de cadena o entero que representan el valor de la dirección URL de solicitud que debe coincidir. Si se especifican varios valores, se evalúan mediante el operador lógico OR. |
| Transformación de mayúsculas y minúsculas | Lowercase, Uppercase |
Ejemplo
En este ejemplo, coinciden todas las solicitudes donde la dirección URL de solicitud empieza por https://api.contoso.com/customers/123. Se transforma la extensión de archivo de la solicitud a minúsculas antes de evaluar la coincidencia, por lo que las solicitudes de https://api.contoso.com/Customers/123 y otras variaciones de mayúsculas y minúsculas también desencadenarán esta condición de coincidencia.
Lista de operadores
En el caso de las reglas que aceptan valores de la lista de operadores estándar, son válidos los siguientes operadores:
| Operator | Descripción | Compatibilidad con plantillas de ARM |
|---|---|---|
| Any | Coincide cuando hay algún valor, independientemente del que sea. | operator: Any |
| Igual | Coincide cuando el valor coincide exactamente con la cadena especificada. | operator: Equal |
| Contains | Coincide cuando el valor contiene la cadena especificada. | operator: Contains |
| Menor que | Coincide cuando la longitud del valor es menor que el entero especificado. | operator: LessThan |
| Mayor que | Coincide cuando la longitud del valor es mayor que el entero especificado. | operator: GreaterThan |
| Menor o igual que | Coincide cuando la longitud del valor es menor o igual que el entero especificado. | operator: LessThanOrEqual |
| Mayor o igual que | Coincide cuando la longitud del valor es mayor o igual que el entero especificado. | operator: GreaterThanOrEqual |
| Comienza por | Coincide cuando el valor comienza por la cadena especificada. | operator: BeginsWith |
| Termina con | Coincide cuando el valor termina con la cadena especificada. | operator: EndsWith |
| RegEx | Coincide cuando el valor coincide con la expresión regular especificada. Consulte más abajo para obtener más detalles. | operator: RegEx |
| Ninguna | Coincide cuando no hay ningún valor. | operator: Any y negateCondition: true |
| No es igual | Coincide cuando el valor no coincide con la cadena especificada. | operator: Equal y negateCondition: true |
| Not Contains | Coincide cuando el valor no contiene la cadena especificada. | operator: Contains y negateCondition: true |
| No es menor que | Coincide cuando la longitud del valor no es menor que el entero especificado. | operator: LessThan y negateCondition: true |
| No es mayor que | Coincide cuando la longitud del valor no es mayor que el entero especificado. | operator: GreaterThan y negateCondition: true |
| No menor o igual que | Coincide cuando la longitud del valor no es menor o igual que el entero especificado. | operator: LessThanOrEqual y negateCondition: true |
| No mayor o igual que | Coincide cuando la longitud del valor no es mayor o igual que el entero especificado. | operator: GreaterThanOrEqual y negateCondition: true |
| No empieza por | Coincide cuando el valor no empieza por la cadena especificada. | operator: BeginsWith y negateCondition: true |
| No termina con | Coincide cuando el valor no termina con la cadena especificada. | operator: EndsWith y negateCondition: true |
| No RegEx | Coincide cuando el valor no coincide con la expresión regular especificada. Consulte más abajo para obtener más detalles. | operator: RegEx y negateCondition: true |
Sugerencia
En el caso de los operadores numéricos, como Menor que o Mayor o igual que, la comparación usada se basa en la longitud. El valor de la condición de coincidencia debe ser un entero que especifique la longitud que quiere comparar.
Expresiones regulares
Las expresiones regulares no admiten las siguientes operaciones:
- Referencias inversas y captura de subexpresiones.
- Aserciones arbitrarias de ancho cero.
- Referencias de subrutinas y patrones recursivos.
- Patrones condicionales.
- Verbos de control de vuelta atrás (backtracking).
- La directiva de un solo byte
\C. - La directiva de coincidencia de nueva línea
\R. - La directiva de inicio de restablecimiento de coincidencia
\K. - Llamadas y código insertado.
- Agrupación atómica y cuantificadores de posesivos.
Pasos siguientes
Azure Front Door:
- Obtenga más información acerca del motor de reglas de Azure Front Door.
- Obtenga información acerca de cómo configurar el primer motor de reglas.
- Obtenga más información sobre las acciones del motor de reglas.
Azure Front Door Estándar/Premium
- Más información sobre el conjunto de reglas de Azure Front Door Estándar/Premium.
- Aprenda a configurar el primer conjunto de reglas.
- Más información sobre las acciones del conjunto de reglas.