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
  • En Azure Portal: Equal, Not Equal
  • En las plantillas de ARM: Equal; use la propiedad negateCondition para especificar No igual.
Value Mobile, Desktop

Ejemplo

En este ejemplo, coinciden todas las solicitudes que se han detectado como procedentes de un dispositivo móvil.

Captura de pantalla del portal que muestra la condición de coincidencia de tipo de dispositivo.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de argumentos POST.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de la cadena de consulta.

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/26 coincide con las solicitudes que llegan desde la dirección 5.5.5.64 hasta la 5.5.5.127.
    • Ejemplo IPv6: 1:2:3:/48 coincide 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.
  • 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.410.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:810: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.
  • 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
  • En Azure Portal: Geo Match, Geo Not Match, IP Match o IP Not Match
  • En las plantillas de ARM: GeoMatch, IPMatch; use la propiedad negateCondition para especificar No coinciden geográficamente o IP no coincide.
Value
  • Para los operadores IP Match o IP Not Match: especifique uno o más intervalos de direcciones IP. Si se especifican varios intervalos de direcciones IP, se evalúan mediante el operador lógico OR.
  • Para los operadores Geo Match o Geo Not Match: especifique una o varias ubicaciones con el código de país.

Ejemplo

En este ejemplo, coinciden todas las solicitudes en las que la solicitud no se originó en los Estados Unidos.

Captura de pantalla del portal que muestra la condición de coincidencia de dirección remota.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de cuerpo de la solicitud.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de nombre de archivo de la solicitud.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de extensión de archivo de la solicitud.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de encabezado de solicitud.

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
  • En Azure Portal: Equal, Not Equal
  • En las plantillas de ARM: Equal; use la propiedad negateCondition para especificar No igual.
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.

Captura de pantalla del portal que muestra la condición de coincidencia de método de solicitud.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de ruta de acceso de solicitud.

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
  • En Azure Portal: Equal, Not Equal
  • En las plantillas de ARM: Equal; use la propiedad negateCondition para especificar No igual.
Método de solicitud HTTP, HTTPS

Ejemplo

En este ejemplo, coinciden todas las solicitudes donde la solicitud usa el protocolo HTTP.

Captura de pantalla del portal que muestra la condición de coincidencia de protocolo de solicitud.

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.

Captura de pantalla del portal que muestra la condición de coincidencia de dirección URL de solicitud.

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:

Azure Front Door Estándar/Premium