Los gateways nativos de la nube gestionan conexiones, compresión, protocolos y seguridad mediante un conjunto de parámetros a nivel de motor. Cuando la configuración predeterminada no se ajusta a su carga de trabajo (por ejemplo, si el tráfico HTTP/2 requiere ventanas de control de flujo más grandes o si un CDN se encuentra frente al gateway y oculta las direcciones IP de los clientes), puede ajustar estos parámetros para mejorar el throughput, reducir la latencia y reforzar la seguridad.
Cambiar los parámetros del gateway puede interrumpir conexiones activas y afectar a las aplicaciones en ejecución. Revise los rangos válidos y las descripciones en este tema antes de realizar cambios.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un gateway nativo de la nube. Para obtener más información, consulte Create a cloud-native gateway
Modificar un parámetro
Solo se pueden modificar los parámetros que aparecen en la página Parameter Settings de la consola de Microservices Engine (MSE). Establezca valores dentro de los rangos indicados en la columna Ranges.
Inicie sesión en la consola de MSE. En la barra de navegación superior, seleccione una región.
En el panel de navegación izquierdo, elija Cloud-native Gateway > Gateways.
En la página Gateways, haga clic en el ID del gateway.
En el panel de navegación izquierdo, haga clic en Parameter Settings.
En la sección Gateway Engine Parameters, localice el parámetro deseado y haga clic en Edit en la columna Actions.
En el cuadro de diálogo Modify Parameters, establezca el valor y haga clic en OK.
Parámetros del motor de gateway
Los parámetros se organizan en los siguientes grupos:
Configuración del protocolo HTTP: HTTP/2, HTTP/3 y generación de ID de solicitud
Configuración de compresión: algoritmos de compresión de respuestas
Gestión de conexiones: tiempos de espera por inactividad y tamaños de búfer
Normalización de rutas: fusión de barras diagonales y manejo de caracteres escapados
Configuración de encabezados y proxy: formato de encabezados, proxies de confianza y bloques CIDR
Seguridad y autenticación: aceleración de hardware TLS, protocolo Proxy y distribución de configuración de autenticación
Configuración del protocolo HTTP
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
EnableHttp2 |
bool |
true, false |
false |
Habilita HTTP/2 entre el cliente y el gateway. Establézcalo en |
|
EnableHttp3 |
bool |
true, false |
false |
Habilita HTTP/3 (QUIC) para conexiones descendentes. HTTP/3 reduce la latencia de establecimiento de conexión y mejora el rendimiento en redes con pérdida de paquetes. |
|
EnableGenerateRequestId |
bool |
true, false |
true |
Genera un encabezado |
|
DownstreamHttp2MaxConcurrentStream |
integer |
0 - 2147483647 |
100 |
Número máximo de flujos concurrentes por conexión HTTP/2. Valores más altos permiten más solicitudes paralelas por conexión, pero consumen más memoria. |
|
InitialStreamWindowSize |
integer |
0 - 2147483647 |
65535 |
Tamaño inicial de la ventana de control de flujo HTTP/2 por flujo, en bytes. El valor predeterminado (64 KB) sigue la especificación HTTP/2. Auméntelo para flujos de alto throughput y reducir la sobrecarga de control de flujo, aunque ventanas más grandes incrementan el consumo de memoria por flujo. |
|
InitialConnectionWindowSize |
integer |
0 - 2147483647 |
1048576 |
Tamaño inicial de la ventana de control de flujo HTTP/2 por conexión, en bytes. El valor predeterminado (1 MB) permite un throughput moderado. Auméntelo para conexiones que transportan muchos flujos paralelos. |
Configuración de compresión
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
EnableGzip |
bool |
true, false |
false |
Comprime las respuestas antes de enviarlas a los clientes. Reduce el uso de ancho de banda, pero aumenta la carga de CPU del gateway. Habilítelo para respuestas con mucho texto (JSON, HTML); déjelo deshabilitado si el gateway tiene recursos de CPU limitados. |
|
ZipAlgorithm |
List |
brotli, gzip |
gzip |
Algoritmo de compresión. Brotli generalmente logra mejores tasas de compresión que gzip a costa de un mayor uso de CPU. Cuando ambos están seleccionados y el encabezado |
Ejemplo: Habilitar brotli con gzip como alternativa
Establezca EnableGzip en true y ZipAlgorithm en brotli, gzip. Los clientes que admiten brotli reciben respuestas comprimidas con brotli; los demás reciben gzip.
Gestión de conexiones
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
DownstreamIdleTime |
integer |
0 - 600 |
15 |
Tiempo de espera por inactividad para conexiones de cliente a gateway, en segundos. Si no llegan solicitudes durante este periodo, el gateway cierra la conexión. Valores más bajos liberan recursos más rápido; valores más altos reducen la sobrecarga de reconexión para clientes con keep-alive. |
|
UpstreamIdleTimeout |
integer |
0 - 600 |
30 |
Tiempo de espera por inactividad para conexiones de gateway a upstream, en segundos. Si el gateway no envía solicitudes al backend durante este periodo, cierra la conexión. Establezca un valor superior al tiempo de espera keep-alive de su backend para evitar desconexiones prematuras. |
|
DownstreamConnectionBufferLimits |
integer |
0 - 2147483647 |
32768 |
Tamaño máximo de búfer por conexión de gateway, en bytes. Aumentar este valor permite al gateway manejar cuerpos de solicitud o respuesta más grandes en memoria, pero incrementa el consumo de memoria. El valor predeterminado (32 KB) es adecuado para la mayoría de las cargas de trabajo. |
Normalización de rutas
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
EnableSlashMerge |
bool |
true, false |
false |
Fusiona barras diagonales consecutivas ( |
|
PathWithEscapedSlashes |
string |
KEEP_UNCHANGED, REJECT_REQUEST, UNESCAPE_AND_REDIRECT, UNESCAPE_AND_FORWARD |
KEEP_UNCHANGED |
Controla cómo el gateway maneja las solicitudes cuya URI contiene caracteres de barra diagonal escapados ( |
Valores de PathWithEscapedSlashes
|
Valor |
Comportamiento |
|
KEEP_UNCHANGED |
Reenvía la solicitud tal como está. |
|
REJECT_REQUEST |
Devuelve HTTP 400 y rechaza la solicitud. Utilice esta opción para bloquear intentos de recorrido de rutas. |
|
UNESCAPE_AND_REDIRECT |
Decodifica los caracteres y envía una redirección a la URI normalizada. |
|
UNESCAPE_AND_FORWARD |
Decodifica los caracteres y reenvía la solicitud al backend. |
Configuración de encabezados y proxy
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
PreserveHeaderFormat |
bool |
true, false |
false |
Conserva el formato original de mayúsculas y minúsculas de los encabezados HTTP/1.1 en lugar de convertirlos a minúsculas. El valor predeterminado ( |
|
XffTrustedNum |
integer |
0 - 10 |
0 |
Número de saltos de proxy de confianza. El gateway utiliza este valor para extraer la dirección IP real del cliente del encabezado |
|
EnableXffTrustedCidrs |
bool |
true, false |
false |
Habilita bloques CIDR de confianza para servicios de proxy frontend como Web Application Firewall (WAF) y CDN. Cuando está habilitado, el gateway extrae la IP real del cliente del encabezado |
Cuándo configurar proxies de confianza
Si su tráfico pasa por un proxy inverso, CDN o WAF antes de llegar al gateway, configure XffTrustedNum o EnableXffTrustedCidrs para que el gateway identifique correctamente la IP real del cliente. Sin esta configuración, el gateway trata la IP del proxy como la IP del cliente, lo cual afecta la limitación de tasa basada en IP y el control de acceso.
Utilice
XffTrustedNumcuando conozca el número exacto de saltos de proxy entre el cliente y el gateway.Utilice
EnableXffTrustedCidrscuando el número de saltos varíe, pero pueda definir rangos CIDR de confianza para su infraestructura de proxy.
Seguridad y autenticación
|
Parámetro |
Tipo |
Rango |
Valor predeterminado |
Descripción |
|
EnableHardwareAccelerate |
bool |
true, false |
true |
Habilita la aceleración por hardware para el cifrado y descifrado de Transport Layer Security (TLS). La aceleración por hardware descarga el procesamiento TLS de la CPU, lo que mejora el throughput del tráfico HTTPS. Solo surte efecto si la aceleración por hardware está disponible en la región y se seleccionó al adquirir el gateway. |
|
EnableProxyProtocol |
bool |
true, false |
false |
Habilita el protocolo Proxy. Cuando un Network Load Balancer (NLB) actúa como punto de entrada del tráfico, habilite esta opción para obtener la dirección IP real del cliente. Las solicitudes que no usan el protocolo Proxy continúan funcionando normalmente después de habilitar esta configuración. |
|
EnableCustomAuthConfigPush |
bool |
true, false |
false |
Evita caídas de conexión cuando cambian las reglas de autenticación personalizadas. Habilítelo para conexiones WebSocket u otras conexiones de larga duración que no deben interrumpirse por actualizaciones en las reglas de autenticación. |
Debido a limitaciones de hardware subyacente, la aceleración por hardware (EnableHardwareAccelerate) solo está disponible en las siguientes regiones: China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen) y Singapore.