JSON Web Token (JWT) es un formato estandarizado, validado y/o cifrado que se utiliza para transferir la información de forma segura entre dos partes.

En la fase de acceso HTTP, los usuarios pueden definir la acción para validar los JWT de los clientes y pasarlos o quitarlos de los servidores back-end.

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.

Requisitos previos

Compruebe que haya disponible un servidor virtual HTTP de Capa 7. Consulte Agregar servidores virtuales HTTP de Capa 7.

Procedimiento

  1. Abra el servidor virtual HTTP de Capa 7.
  2. En la sección Reglas de equilibrador de carga, junto a Fase de acceso HTTP, haga clic en Establecer > Agregar regla para configurar las reglas de equilibrador de carga para la fase de reescritura de solicitud HTTP.
  3. En el menú 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 Coincide con un argumento de consulta URI de solicitud HTTP.

    http_request.uri_arguments: valor que debe coincidir.

    Versión de solicitud HTTP Coincide con una versión de solicitud HTTP.

    http_request.version: valor que debe coincidir.

    Encabezado de solicitud HTTP Coincide con cualquier encabezado de solicitud HTTP.

    http_request.header_name: nombre de encabezado que debe coincidir.

    http_request.header_value: valor que debe coincidir.

    Cookie de solicitud HTTP Coincide con cualquier cookie de solicitud HTTP.

    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.

    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 cuadros de texto 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 las direcciones IPv4 e IPv6.
    • Si se selecciona Origen de encabezado IP con el tipo de origen Grupo, seleccione el grupo en el menú 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.
    SSL de cliente Coincide con el identificador de perfil SSL del cliente.

    ssl_profile_id: valor que debe coincidir.

    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.
  4. En la lista desplegable, seleccione Tipo de coincidencia: empieza por, termina con, es igual a, contiene o coincide con la expresión regular.
  5. Si es necesario, introduzca el URI.
  6. En la lista desplegable, seleccione una Estrategia de coincidencia:
    Estrategia de coincidencia Descripción
    Cualquiera El host o la ruta pueden coincidir para que esta regla se considere una coincidencia.
    Todo

    Tanto el host como la ruta deben coincidir para que esta regla se considere una coincidencia.

  7. En el menú desplegable, seleccione una Acción:
    Acción Descripción
    Autenticación de JWT
    JSON Web Token (JWT) es un estándar abierto que define una manera compacta y autónoma para transmitir información de forma segura entre diferentes partes como un objeto JSON. Esta información puede ser verificada y de confianza porque está firmada digitalmente.
    • Realm: una descripción del área protegida. Si no se especifica ninguno, los clientes a menudo muestran un nombre de host formateado. El realm configurado se devuelve cuando se rechaza una solicitud de cliente con el estado http 401. La respuesta es: "WWW-Authentication: Bearer realm=<realm>".
    • Tokens: este parámetro es opcional. El equilibrador de carga busca cada token especificado uno a uno para el mensaje JWT hasta que lo encuentra. Si no lo encuentra, o si este cuadro de texto no está configurado, el equilibrador de carga buscará el encabezado Bearer de forma predeterminada en la solicitud "Authorization: Bearer <token>".
    • Tipo de clave: clave simétrica o clave pública asimétrica (certificate-id)
    • Preserve JWT: esta es una marca para conservar el JWT y pasarlo al servidor back-end. Si está deshabilitada, se eliminará la clave JWT del servidor back-end.
    Pérdida de conexión

    Si la negación está habilitada, cuando se configure la desconexión, se descartarán todas las solicitudes que no coincidan con la condición de coincidencia especificada. Se permiten las solicitudes que cumplan la condición de coincidencia especificada.

    Asignación de variables

    Permite a los usuarios asignar un valor a una variable en la fase de acceso HTTP, de forma tal que el resultado se pueda utilizar como una condición en otras fases de reglas de equilibrador de carga.

  8. Haga clic en Guardar y Aplicar.