Ingress Controller de Citrix ADC

Casos de uso HTTP

Este tema cubre varios casos de uso de HTTP que puede configurar en el Citrix ADC de entrada mediante las anotaciones en el Citrix Ingress Controller.

En la siguiente tabla se enumeran los casos de uso de HTTP con anotaciones de ejemplo:

Caso de uso Anotación de muestra
Configuración de HTTP/2 ingress.citrix.com/frontend-httpprofile: '{"http2":"enabled"}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled"}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled", "altsvc":"enabled"}'
Gestión de tiempos de espera de sesión HTTP ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "reqtimeoutaction":"drop"}}'
  ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "adptimeout" : "enable"}}'
  ingress.citrix.com/backend-httpprofile: '{"apache":{"reusepooltimeout" : "20000"}}'

Configuración de HTTP/2

El Citrix ADC HTTP/2 de entrada tanto en el lado del cliente como en el lado del servidor. Para obtener más información, consulte Compatibilidad con HTTP/2 en Citrix ADC. Para una configuración de equilibrio de carga HTTP en el Citrix ADC de entrada, utiliza uno de los siguientes métodos para comenzar a comunicarse con el cliente/servidor mediante HTTP/2.

El Citrix ADC de entrada proporciona opciones configurables en un perfil HTTP para los métodos HTTP/2. Estas opciones HTTP/2 se pueden aplicar al lado del cliente, así como al lado del servidor de una configuración de equilibrio de carga HTTPS o HTTP. El Citrix Ingress Controller proporciona anotaciones para configurar el perfil HTTP en el Citrix ADC de entrada. Utilice estas anotaciones para configurar las diversas configuraciones de equilibrio de cargas HTTP en el Citrix ADC de entrada para comunicarse con el cliente/servidor mediante HTTP/2.

Nota:

Asegúrese de que el parámetro global del lado del servicio HTTP/2 (HTTP2ServerSide) esté habilitado en el Citrix ADC de entrada. Para obtener más información, consulte nshttpparam.

Actualización HTTP/2

En este método, un cliente envía una solicitud HTTP/1.1 a un servidor. La solicitud incluye un encabezado de actualización, que solicita al servidor que actualice la conexión a HTTP/2. Si el servidor admite HTTP/2, el servidor acepta la solicitud de actualización y se lo notifica en su respuesta. El cliente y el servidor comienzan a comunicarse mediante HTTP/2 después de que el cliente recibe la respuesta de confirmación de actualización.

Con las anotaciones para los perfiles HTTP, puede configurar el método de actualización HTTP/2 en el Citrix ADC de entrada. A continuación, se muestra una anotación de ejemplo del perfil HTTP para configurar el método de actualización HTTP/2 en el Citrix ADC de entrada:

ingress.citrix.com/frontend-httpprofile: '{"http2":"enabled"}'

HTTP/2 directo

En este método, un cliente comienza a comunicarse directamente con un servidor en HTTP/2 en lugar de usar el método de actualización HTTP/2. Si el servidor no admite HTTP/2 o no está configurado para aceptar directamente solicitudes HTTP/2, descarta los paquetes HTTP/2 del cliente. Este método resulta útil si el administrador del dispositivo cliente ya sabe que el servidor admite HTTP/2.

Con las anotaciones para los perfiles HTTP, puede configurar el método HTTP/2 directo en el Citrix ADC de entrada. A continuación, se muestra una anotación de ejemplo del perfil HTTP para configurar el método HTTP/2 directo en el Citrix ADC de entrada:

ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled"}'

HTTP/2 directo mediante el servicio alternativo (ALT-SVC)

En este método, un servidor anuncia que admite HTTP/2 a un cliente al incluir un campo Servicio alternativo (ALT-SVC) en su respuesta HTTP/1.1. Si el cliente está configurado para comprender el campo ALT-SVC, el cliente y el servidor comienzan a comunicarse directamente mediante HTTP/2 una vez que el cliente recibe la respuesta.

A continuación se muestra una anotación de ejemplo del perfil HTTP para configurar el método HTTP/2 directo mediante el servicio alternativo (ALT-SVC) en el Citrix ADC de entrada:

ingress.citrix.com/backend-httpprofile: '{"apache":{"http2direct" : "enabled", "altsvc":"enabled"}'

Gestión de tiempos de espera de sesión HTTP

Para manejar los diferentes tipos de solicitud HTTP y también para mitigar ataques como el ataque DDoS de Slowloris, donde en los clientes inician conexiones que puede querer restringir. En Citrix ADC de entrada, puede configurar los siguientes tiempos de espera para estos casos:

  • reqTimeout y reqTimeoutAction
  • Tiempo de espera de ADPT
  • Reutilizar Pool Timeout

reqTimeout y reqTimeoutAction

En Citrix ADC, puede configurar el valor de tiempo de espera de solicitud HTTP y la acción de tiempo de espera de solicitud mediante el parámetro reqTimeoutAction reqTimeout y en el perfil HTTP. El reqTimeout valor se establece en segundos y la solicitud HTTP debe completarse dentro del tiempo especificado en el parámetro reqTimeout. Si la solicitud HTTP no se completa dentro del tiempo definido, se ejecuta la acción de tiempo de espera de solicitud especificada en reqTimeoutAction. El valor de tiempo de espera mínimo que puede establecer es 0 y el máximo es 86400. De forma predeterminada, el valor de tiempo de espera se establece en 0.

Con el parámetro reqTimeoutAction, puede especificar el tipo de acción que se debe realizar en caso de que transcurra el valor de tiempo de espera de la solicitud HTTP (reqTimeout). Puede especificar las siguientes acciones:

  • RESTABLECER
  • GOTA

Con las anotaciones para los perfiles HTTP, puede configurar la acción de tiempo de espera de solicitud HTTP y tiempo de espera de solicitud HTTP. A continuación se muestra una anotación de ejemplo del perfil HTTP para configurar la acción de tiempo de espera de solicitud HTTP y tiempo de espera de solicitud HTTP en Citrix ADC de entrada:

ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "reqtimeoutaction":"drop"}}'

Tiempo de espera de ADPT

En lugar de utilizar un valor de tiempo de espera establecido para las sesiones solicitadas, también puede habilitar adptTimeout. El adptTimeout parámetro adapta el tiempo de espera de la solicitud según las condiciones del flujo. Si se habilita, el tiempo de espera de la solicitud aumenta o disminuye internamente y se aplica en el flujo. De forma predeterminada, este parámetro se establece como DISABLED.

Al usar anotaciones para perfiles HTTP, puede habilitar o inhabilitar el parámetro adpttimeout de la siguiente manera:

ingress.citrix.com/frontend-httpprofile: '{"apache":{"reqtimeout" : "10", "adptimeout" : "enable"}}'

Reutilizar Pool Timeout

Puede configurar un valor de tiempo de espera del grupo de reutilización para vaciar cualquier conexión de servidor inactiva del grupo de reutilización. Si el servidor está inactivo durante la cantidad de tiempo configurada, las conexiones correspondientes se vacían.

El valor de tiempo de espera mínimo que puede establecer es 0 y el máximo es 31536000. De forma predeterminada, el valor de tiempo de espera se establece en 0.

Mediante anotaciones para perfiles HTTP, puede configurar el valor de tiempo de espera requerido de la siguiente manera:

ingress.citrix.com/backend-httpprofile: '{"apache":{"reusepooltimeout" : "20000"}}'
Casos de uso HTTP