Se sei un utente esistente del bilanciatore del carico delle applicazioni classico, assicurati di consulta 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 tra le funzionalità
Le seguenti funzionalità non sono supportate con il bilanciatore del carico delle applicazioni esterno globale. Loro 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 Gateway GKE un controller. Per configurazione consulta la sezione Deployment Gateway.
Differenze del piano dati
La tabella seguente evidenzia le differenze nel piano dati tra i il bilanciatore del carico delle applicazioni classico e il bilanciatore del carico delle applicazioni 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 nella mappa URL di configurazione tra i due bilanciatori del carico. Per maggiori dettagli, consulta Quote: mappe URL documentazione. | |
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 a
backend |
Formato dell'intestazione X-Forwarded-For aggiunta alle richieste
inviate al backend |
Utilizza ", " delimitatore tra IP |
Utilizza ", " delimitatore tra 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 una singola intestazione, con i valori aggiunti in ordine e separati da virgole, come consentito 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 si aggiungono due o più host e il primo è valido, l'intestazione accettato | Quando vengono aggiunti due o più host, se 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 da
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 (per 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 di example.com:5000 vengono associate a
il servizio di backend per example.com .
|
Vengono presi in considerazione sia il nome host sia il numero di porta. Ad esempio, le richieste di example.com:5000 vengono associate a
il servizio di backend per example.com:5000 . Se non sono
viene usato il servizio di backend predefinito.
|