Planifica la migración al balanceador de cargas de aplicaciones externo global

Si ya eres un usuario del balanceador de cargas de aplicaciones clásico, asegúrate de revisar esta página si planeas migrar al balanceador de cargas de aplicaciones externo global o si planeas una implementación nueva con el balanceador de cargas de aplicaciones externo global.

Diferencias entre las funciones

Las siguientes funciones no son compatibles con el balanceador de cargas de aplicaciones externo global. Solo están disponibles con el balanceador de cargas de aplicaciones clásico:

Diferencias entre planos de datos

En la siguiente tabla, se destacan las diferencias en el plano de datos entre el balanceador de cargas de aplicaciones clásico y el balanceador de cargas de aplicaciones externo global. Estas diferencias afectan la forma en que los balanceadores de cargas responden a algunos eventos comunes.

Evento Respuesta del balanceador de cargas de aplicaciones clásico Respuesta del balanceador de cargas de aplicaciones externo global
Códigos de error o estado
Todos los backends están en mal estado Muestra HTTP 502 Muestra HTTP 503
La solicitud usa un algoritmo de cifrado SSL prohibido Muestra HTTP 502 Muestra HTTP 503
Conexión ascendente anterior que el backend restablece Muestra HTTP 502 Muestra HTTP 503
Actualización de conexión con errores (por ejemplo, mientras se actualiza a Websockets) Muestra HTTP 400 Muestra HTTP 403
El encabezado es demasiado grande Muestra HTTP 413 Muestra HTTP 431
Cuotas y límites
Configuración del mapa de URL Existen diferencias significativas en los límites de configuración del mapa de URL entre los dos balanceadores de cargas. Para obtener más información, consulta la documentación Cuotas: mapas de URL.
Manejo de encabezados
La solicitud usa un método HTTP personalizado sin cuerpo Agrega el encabezado Transfer Encoding: Chunked a la solicitud enviada al backend Agrega el encabezado Content-Length: 0 a la solicitud enviada al backend
Formato del encabezado X-Forwarded-For que se agregó a las solicitudes enviadas al backend Usa el delimitador “, ” entre las IP Usa el delimitador “,” entre las IP (sin espacio después de la coma).
Conservación de casos de encabezado Se conserva el caso de encabezado Todas las claves de encabezado se transforman en minúsculas
Encabezados repetidos con el mismo nombre Permitido Los encabezados repetidos se pueden combinar en un solo encabezado, con los valores anexados en orden y separados por comas, como se permite en RFC 7230.
(Solo HTTP/1.1) Nombre de encabezado no válido (por ejemplo, caracteres no compatibles en el encabezado) Permitido (para HTTP/1.1) Muestra HTTP 502 (para HTTP/1.1)
(Solo HTTP/1.1) Encabezado Content-Length repetido (pero igual) en la solicitud Permitido (para HTTP/1.1) Muestra HTTP 502 (para HTTP/1.1)
(Solo HTTP/1.1) Varios hosts en el encabezado Cuando se agregan 2 o más hosts y el primero es válido, se acepta el encabezado Cuando se agregan 2 o más hosts y ninguno de ellos es válido, el balanceador de cargas muestra HTTP 502
(Solo HTTP/1.1) encabezado Connection: Keep-Alive Agrega Keep-Alive header en las solicitudes enviadas al backend de forma predeterminada. No agrega este encabezado de forma predeterminada
Administra solicitudes
Barras inversas en la solicitud URL sin cambios Convierte a la barra diagonal
Combina barras duplicadas en la solicitud Deja las barras separadas Combina las barras
"#" en la ruta de acceso de la solicitud Permitido Muestra HTTP 400
(Solo HTTP/1.1) Caracteres no permitidos en la ruta de acceso de la solicitud (por ejemplo, “\\x7f\\x7f”) Permitido (para HTTP/1.1) Muestra HTTP 502 (para HTTP/1.1)
Distribución de tráfico (configuración de mapa de URL)
La solicitud del cliente incluye un número de puerto El número de puerto se ignora incluso si configuraste hosts con puertos en el mapa de URL. Solo se considera el nombre del host.
Por ejemplo, las solicitudes de example.com:5000 coinciden con el servicio de backend de example.com.
Se tienen en cuenta el nombre del host y el número de puerto.
Por ejemplo, las solicitudes de example.com:5000 coinciden con el servicio de backend de example.com:5000. Si no hay coincidencia, se usa el servicio de backend predeterminado.