Una reescritura de solicitud HTTP se aplica a las solicitudes HTTP procedentes del cliente.
Requisitos previos
Compruebe que haya disponible un servidor virtual HTTP de Capa 7. Consulte Agregar servidores virtuales HTTP de Capa 7.
Las reglas del equilibrador de carga admiten REGEX para los tipos de coincidencia. Los patrones REGEX de estilo PCRE se admiten con algunas limitaciones en los casos de uso avanzado. Cuando se utiliza REGEX en condiciones de coincidencia, se admiten grupos de captura con nombre. Consulte Expresiones regulares en reglas de equilibrador de carga.
Procedimiento
- Abra el servidor virtual HTTP de Capa 7.
- En la sección Reglas de equilibrador de carga, junto a Fase de reescritura de solicitud, haga clic en para configurar las reglas de equilibrador de carga para la fase de reescritura de solicitud HTTP.
- En la lista desplegable, seleccione una condición de coincidencia. Las condiciones de coincidencia se utilizan para hacer coincidir el tráfico de aplicación que pasa a través de los equilibradores de carga. Se pueden especificar varias condiciones de coincidencia en una regla de equilibrador de carga. Cada condición de coincidencia define un criterio para el tráfico de la aplicación.
Condición de coincidencia compatible Descripción Método de solicitud HTTP Coincide con un método de solicitud HTTP. http_request.method: valor que debe coincidir.
URI de solicitud HTTP Coincide con un URI de solicitud HTTP sin argumentos de consulta. http_request.uri: valor que debe coincidir.
Argumentos de URI de solicitud HTTP Se utiliza para que coincidan los argumentos de URI, como la cadena de consulta de mensajes de solicitud HTTP. Por ejemplo, en el URI http://ejemplo.com?foo=1&bar=2, la parte "foo=1&bar=2" es la cadena de consulta que contiene los argumentos de URI. En un esquema de URI, la cadena de consulta se indica mediante el primer signo de interrogación ("?") y termina con una almohadilla ("#") o por el final del URI.
http_request.uri_arguments: valor que debe coincidir.
Versión de solicitud HTTP Se utiliza para que coincida con la versión del protocolo HTTP de los mensajes de solicitud HTTP. http_request.version: valor que debe coincidir.
Encabezado de solicitud HTTP Se utiliza para hacer coincidir los mensajes de solicitud HTTP por campos de encabezado HTTP. Los campos de encabezado HTTP son componentes de la sección de encabezado de los mensajes de respuesta y solicitud HTTP. Definen los parámetros operativos de una transacción HTTP. http_request.header_name: nombre de encabezado que debe coincidir.
http_request.header_value: valor que debe coincidir.
Cookie de solicitud HTTP Se utiliza para hacer coincidir los mensajes de solicitud HTTP por cookie, que es un tipo específico de encabezado HTTP. match_type y case_sensitive definen cómo comparar el valor de la cookie. http_request.cookie_value: valor que debe coincidir.
Cuerpo de solicitud HTTP Coincide con el contenido del cuerpo de la solicitud HTTP. http_request.body_value: valor que debe coincidir.
SSL de cliente Coincide con el identificador de perfil SSL del cliente. ssl_profile_id: valor que debe coincidir.
Puerto de encabezado TCP Coincide con un puerto TCP de origen o destino. tcp_header.source_port: puerto de origen que debe coincidir.
tcp_header.destination_port: puerto de destino que debe coincidir.Origen de encabezado IP Coincide con los campos de encabezado IP en los mensajes HTTP. El tipo de origen debe ser una única dirección IP, un rango de direcciones IP o un grupo. Consulte Agregar un grupo. - Si se selecciona Origen del encabezado IP, con un tipo de origen Dirección IP, la dirección IP de origen de los mensajes HTTP debe coincidir con las direcciones IP que están configuradas en grupos. Se admiten direcciones IPv4 e IPv6.
- Si se selecciona Origen de encabezado IP con el tipo de origen Grupo, seleccione el grupo en la lista desplegable.
ip_header.source_address: dirección de origen que debe coincidir.
ip_header.destination_address: dirección de destino que debe coincidir.Variable Cree una variable y asigne un valor a la variable. Distingue entre mayúsculas y minúsculas Establezca una marca que distinga mayúsculas de minúsculas para la comparación de valores de encabezado HTTP. Si es true, se distinguirá entre mayúsculas y minúsculas al comparar el valor del cuerpo HTTP. - En el menú desplegable, seleccione Tipo de coincidencia: empieza por, termina con, es igual a, contiene o coincide con la expresión regular. El tipo de coincidencia se utilizará para hacer coincidir una condición con una acción especificada.
Tipo de coincidencia Descripción Empieza por Si la condición de coincidencia comienza con el valor especificado, la condición coincidirá. Termina con Si la condición de coincidencia termina con el valor especificado, la condición coincidirá. Es igual a Si la condición de coincidencia es la misma que el valor especificado, la condición coincidirá. Contiene Si la condición de coincidencia contiene el valor especificado, la condición coincidirá. Coincide con la expresión regular Si la condición de coincidencia coincide con los valores especificados, la condición coincidirá. - Especifique el URI.
- En el menú desplegable, seleccione una Estrategia de coincidencia:
Estrategia de coincidencia Descripción Cualquiera Indica que el host o la ruta pueden coincidir para que esta regla se considere una coincidencia. Todo Indica que tanto el host como la ruta deben coincidir para que esta regla se considere una coincidencia.
- Seleccione una acción en el menú desplegable:
Acciones Descripción Reescritura de URI de solicitud HTTP Esta acción se utiliza para reescribir los URI en los mensajes de solicitud de HTTP coincidentes. Especifique el URI y los argumentos de URI en esta condición para volver a escribir el URI y los argumentos URI del mensaje de solicitud HTTP con los nuevos valores. El esquema de URI completo de los mensajes HTTP usa la siguiente sintaxis: Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment. El campo URI de esta acción se utiliza para volver a escribir la parte de /path en el esquema anterior. El campo Argumentos de URI se utiliza para reescribir la parte de la consulta. Las variables capturadas y las variables integradas se pueden utilizar en los campos URI y Argumentos de URI.
- Introduzca el URI de la solicitud HTTP.
- Introduzca la cadena de consulta de URI, que suele contener pares de valores clave, por ejemplo: foo1=bar1&foo2=bar2.
Reescritura de encabezado de solicitud HTTP Esta acción se utiliza para reescribir los campos de encabezado de los mensajes de solicitud HTTP coincidentes con los nuevos valores especificados.
- Introduzca el nombre de un mensaje de solicitud HTTP de un cuadro de texto de encabezado.
- Introduzca el valor del encabezado.
Eliminación de encabezado de solicitud HTTP Esta acción se utiliza para eliminar los campos de encabezado de los mensajes de solicitud HTTP en la fase HTTP_REQUEST_REWRITE. Se puede utilizar una acción para eliminar todos los encabezados con el mismo nombre de encabezado. Para eliminar los encabezados con nombres de encabezado diferentes, se deben definir varias acciones.
- Introduzca el nombre de un campo de encabezado del mensaje de solicitud HTTP.
Asignación de variables Cree una variable y asígnele un nombre y un valor. - Alterne el botón Distingue entre mayúsculas y minúsculas para establecer una marca que distinga mayúsculas de minúsculas para la comparación de valores de encabezado HTTP.
- Alterne el botón Negar para habilitarlo.
- Haga clic en Guardar y en Aplicar.