Se sei un utente esistente del bilanciatore del carico delle applicazioni classico, assicurati di consultare questa pagina se prevedi di eseguire la migrazione al bilanciatore del carico delle applicazioni esterno globale o se stai pianificando un nuovo deployment con il bilanciatore del carico delle applicazioni esterno globale.
Differenze nelle funzionalità
Le seguenti funzionalità non sono supportate con il bilanciatore del carico delle applicazioni esterno globale. Sono disponibili solo con il bilanciatore del carico delle applicazioni classico:
- Livello di rete standard
-
Per eseguire il deployment di bilanciatori del carico delle applicazioni esterni globali per i cluster GKE, utilizza invece il controller gateway GKE. Per le istruzioni di configurazione, consulta Deployment dei gateway.
Differenze del piano dati
La tabella seguente evidenzia le differenze nel piano dati tra l'Application Load Balancer classico e l'Application Load Balancer esterno globale. Queste differenze influiscono sul modo in cui i bilanciatori del carico rispondono ad alcuni eventi comuni.
Evento | Risposta del bilanciatore del carico delle applicazioni classico | Risposta del bilanciatore del carico delle applicazioni esterno globale |
Codici di stato/errore | ||
Tutti i backend sono in stato non integro | Restituisce HTTP 502 | Restituisce HTTP 503 |
La richiesta utilizza una crittografia SSL vietata | Restituisce HTTP 502 | Restituisce HTTP 503 |
Connessione upstream anticipata reimpostata dal backend | Restituisce HTTP 502 | Restituisce HTTP 503 |
Upgrade della connessione non riuscito (ad esempio, durante l'upgrade a WebSocket) | Restituisce HTTP 400 | Restituisce HTTP 403 |
L'intestazione è troppo grande | Restituisce HTTP 413 | Restituisce HTTP 431 |
Quote e limiti | ||
Configurazione della mappa URL | Esistono differenze significative nei limiti di configurazione della mappa URL tra i due bilanciatori del carico. Per maggiori dettagli, consulta la documentazione Quote: mappe URL. | |
Gestione dell'intestazione | ||
La richiesta utilizza un metodo HTTP personalizzato senza corpo | Aggiunge l'intestazione Transfer Encoding: Chunked alla richiesta inviata al backend |
Aggiunge l'intestazione Content-Length: 0 alla richiesta inviata al
backend |
Formato dell'intestazione X-Forwarded-For aggiunta alle richieste inviate al backend |
Utilizza il delimitatore ", " tra gli IP |
Utilizza il delimitatore ", " tra gli IP (senza spazio dopo la virgola) |
Conservazione della richiesta di intestazione | L'intestazione viene mantenuta | Tutte le chiavi di intestazione vengono trasformate in lettere minuscole |
Intestazioni ripetute con lo stesso nome | Consentito | Le intestazioni ripetute possono essere combinate in un'unica intestazione, con i valori aggiunti in ordine e separati da virgole, come consentito dal documento RFC 7230. |
(Solo HTTP/1.1) Nome dell'intestazione non valido (ad esempio, caratteri non supportati nell'intestazione) | Consentito (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
(Solo HTTP/1.1) Ripetuto (ma uguale)
Intestazione Content-Length nella richiesta |
Consentito (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
(Solo HTTP/1.1) Host multipli nell'intestazione | Quando vengono aggiunti due o più host e il primo è valido, l'intestazione viene accettata. | Quando vengono aggiunti due o più host e alcuni non sono validi, il bilanciatore del carico restituisce HTTP 502 |
(solo HTTP/1.1) Connection: Keep-Alive
intestazione |
Aggiunge Keep-Alive header nelle richieste inviate al backend per impostazione predefinita |
Non aggiunge questa intestazione per impostazione predefinita |
Gestione delle richieste | ||
Barre all'indietro nella richiesta | URL non modificato | Converte in barra |
Unisci barre duplicate nella richiesta | Lascia barre non unite | Unisce le barre |
"#" nel percorso di richiesta | Consentito | Restituisce HTTP 400 |
(Solo HTTP/1.1) Caratteri non ammessi nel percorso di richiesta (ad esempio, "\\x7f\\x7f") | Consentito (per HTTP/1.1) | Restituisce HTTP 502 (per HTTP/1.1) |
Distribuzione del traffico (configurazione della mappa URL) | ||
La richiesta del client include un numero di porta | Il numero di porta viene ignorato anche se hai configurato host con porte nella mappa URL. Viene preso in considerazione solo il nome host. Ad esempio, le richieste per example.com:5000 vengono abbinate al servizio di backend per example.com .
|
Vengono presi in considerazione sia il nome host sia il numero di porta. Ad esempio, le richieste per example.com:5000 vengono abbinate al servizio di backend per example.com:5000 . Se non viene trovata una corrispondenza, viene utilizzato il servizio di backend predefinito.
|