Planifier votre migration vers l'équilibreur de charge d'application externe mondial

Si vous êtes déjà un utilisateur de l'équilibreur de charge d'application classique, assurez-vous de consulter cette page si vous envisagez de migrer vers l'équilibreur de charge d'application externe mondial ou si vous planifiez un nouveau déploiement avec l'équilibreur de charge d'application externe mondial.

Différences de fonctionnalités

Les fonctionnalités suivantes ne sont pas compatibles avec l'équilibreur de charge d'application externe mondial. Elles ne sont disponibles qu'avec l'équilibreur de charge d'application classique:

Différences au niveau du plan de données

Le tableau suivant met en évidence les différences dans le plan de données entre l'équilibreur de charge d'application classique et l'équilibreur de charge d'application externe mondial. Ces différences affectent la manière dont les équilibreurs de charge répondent à certains événements courants.

Événement Réponse de l'équilibreur de charge d'application classique Réponse de l'équilibreur de charge d'application externe mondial
Codes d'état/d'erreur
Tous les backends ne sont pas opérationnels Renvoie HTTP 502 Renvoie HTTP 503
La requête utilise un algorithme de chiffrement SSL interdit Renvoie HTTP 502 Renvoie HTTP 503
Réinitialisation précoce de la connexion en amont par le backend Renvoie HTTP 502 Renvoie HTTP 503
Échec de la mise à niveau de la connexion (par exemple, lors de la mise à niveau vers Websockets) Renvoie HTTP 400 Renvoie HTTP 403
L'en-tête est trop volumineux Renvoie HTTP 413 Renvoie HTTP 431
Quotas et limites
Configuration de mappage d'URL Il existe des différences significatives dans les limites de configuration du mappage d'URL entre les deux équilibreurs de charge. Pour en savoir plus, consultez la documentation Quotas : mappages d'URL.
Gestion des en-têtes
La requête utilise une méthode HTTP personnalisée sans corps Ajoute l'en-tête Transfer Encoding: Chunked à la requête envoyée au backend Ajoute l'en-tête Content-Length: 0 à la requête envoyée au backend
Format de l'en-tête X-Forwarded-For ajouté aux requêtes envoyées au backend Utilise le délimiteur ", " entre les adresses IP Utilise le délimiteur "," entre les adresses IP (sans espace après la virgule)
Conservation de la casse dans l'en-tête La casse de l'en-tête est conservée à l'identique Toutes les clés d'en-tête sont converties en caractères minuscules
En-têtes répétés avec le même nom Autorisé Les en-têtes répétés peuvent être combinés en un seul en-tête, avec les valeurs ajoutées dans l'ordre et séparées par des virgules, comme autorisé par la norme RFC 7230.
(HTTP/1.1 uniquement) Nom d'en-tête non valide (par exemple, caractères non compatibles dans l'en-tête) Autorisé (pour HTTP/1.1) Renvoie HTTP 502 (pour HTTP/1.1)
(HTTP/1.1 uniquement) En-tête Content-Length répété (mais identique) dans la requête Autorisé (pour HTTP/1.1) Renvoie HTTP 502 (pour HTTP/1.1)
(HTTP/1.1 uniquement) Plusieurs hôtes dans l'en-tête Lorsque deux hôtes ou plus sont ajoutés et que le premier est valide, l'en-tête est accepté Lorsque deux hôtes ou plus sont ajoutés et que l'un d'entre eux n'est pas valide, l'équilibreur de charge renvoie le code HTTP 502
(HTTP/1.1 uniquement) En-tête Connection: Keep-Alive Ajoute l'en-tête Keep-Alive header dans les requêtes envoyées au backend par défaut N'ajoute pas cet en-tête par défaut
Gérer les requêtes
Conversion des barres obliques en barres obliques inverses dans la requête URL inchangée Conversion en barre oblique
Fusion des barres obliques en double dans la requête Barres obliques non fusionnées Fusion des barres obliques
"#" dans le chemin de la requête Autorisés Renvoie HTTP 400
(HTTP/1.1 uniquement) Caractères non valides dans le chemin de la requête (par exemple, "\\x7f\\x7f") Autorisé (pour HTTP/1.1) Renvoie HTTP 502 (pour HTTP/1.1)
Distribution du trafic (configuration de mappage d'URL)
La requête du client inclut un numéro de port Le numéro de port est ignoré, même si vous avez configuré des hôtes avec des ports dans le mappage d'URL. Seul le nom d'hôte est pris en compte.
Par exemple, le mappage des requêtes ciblant example.com:5000 sur le service de backend ne va porter que sur example.com.
Le nom d'hôte et le numéro de port sont tous deux pris en compte.
Par exemple, le mappage des requêtes ciblant example.com:5000 sur le service de backend va porter sur example.com:5000. En l'absence de correspondance, le service de backend par défaut est utilisé.