Risoluzione dei problemi HTTP del load balancer
Informazioni sui problemi HTTP associati ai load balancer.
HTTP 400 - Intestazione richiesta o cookie non validi
Una possibile soluzione è aumentare la dimensione dell'intestazione della richiesta HTTP nel load balancer. Per impostazione predefinita, il limite di dimensione è di 8 KB, ma la sua risoluzione è di 64 KB. Questa soluzione è supportata solo per HTTP. È possibile creare una regola per aumentare le dimensioni dell'intestazione HTTP per indirizzarla. Esiste anche una regola per la gestione dei caratteri speciali nel nome dell'intestazione che potrebbe causare errori simili.
Per ulteriori informazioni, vedere Regole di intestazione HTTP.
Errori gateway HTTP 502 non valido
Oltre al monitoraggio e alla gestione, la registrazione del bilanciamento del carico consente di identificare, isolare e risolvere i problemi con l'infrastruttura del load balancer. La procedura riportata di seguito illustra come risolvere un errore 502 Bad Gateway
rilevato durante la distribuzione di una nuova applicazione Web, example.com
. L'esempio utilizza un load balancer pubblico di Oracle Cloud Infrastructure come front end in un ambiente di sviluppo. Il task non riesce con un errore 502 Bad Gateway
nel browser. Risolvere il problema utilizzando l'accesso al load balancer e i log degli errori, come indicato di seguito.
- Confermare l'errore utilizzando la utility
curl
come indicato di seguito.curl -v http://example.com
> GET / HTTP/1.1 > Host: 192.0.2.99 > User-Agent: curl/7.54.0 > Accept: */* > < HTTP/1.1 502 Bad Gateway < Content-Type: text/html < Content-Length: 161 < Connection: keep-alive
- Cercare "
lbStatusCode
" e "backendStatusCode
" nei log degli accessi al load balancer e degli errori.- Se i risultati includono
backendStatusCode: 502
, effettuare le operazioni riportate di seguito.Cause possibili:
- Il problema è un backend configurato in modo non corretto.
- Il backend è probabilmente un altro proxy inverso o LB.
Possibili risoluzioni:
- Esaminare i log proxy a monte per determinare il motivo della restituzione dell'errore
502
. - Risolvere eventuali problemi relativi al backend finale che causano la restituzione di un errore
502
da parte del proxy a monte.
- Se i risultati includono
backendStatusCode: 504
, effettuare le operazioni riportate di seguito.Cause possibili:
- Quando si verifica un errore
504
dal backend, in genere indica che il backend è un'altra istanza del servizio proxy o load balancer. L'errore si verifica in genere quando un proxy non è in grado di connettersi a un server a monte in un periodo di tempo specificato. - Esaminare i log del sistema a monte per determinare la causa della connessione del proxy a monte al backend.
Possibili risoluzioni:
- Aumentare il periodo di tempo per il timeout della connessione.
- Determina perché la risposta del backend richieda più tempo del solito utilizzando una utility, ad esempio
tcpdump
, e strumenti applicativi integrati.
- Quando si verifica un errore
- Se i risultati includono
backendStatusCode: 500
, effettuare le operazioni riportate di seguito.Cause possibili:- Quando si verifica un errore
500
dal backend, in genere indica un errore lato server, comunemente noto come "Errore del server interno". Le applicazioni backend in genere causano questo errore. - Impossibile connettersi a risorse a monte, ad esempio database, API e servizi.
Possibili risoluzioni:
Risolvere il problema a livello di applicazione che causa l'errore.
- Quando si verifica un errore
- Se i risultati includono
backendStatusCode:
senza codice di errore, effettuare le operazioni riportate di seguito.- In genere, quando il codice di stato del backend non accompagna
lbStatusCode: 502
, non è disponibile alcun backend per l'invio delle connessioni. - È inoltre possibile notare un messaggio
No healthy backends available in associated backendSet
nei log degli errori del load balancer. - Assicurarsi che i backend siano in buono stato. Se i backend sono integri, confermare che il controllo dello stato è configurato correttamente.
- In genere, quando il codice di stato del backend non accompagna
- Se i risultati includono
HTTP 504
L'errore HTTP 504 in genere indica che il server backend viene utilizzato come un'altra istanza del servizio proxy o load balancer. Questo errore si verifica in genere quando un proxy non è in grado di connettersi a un server a monte in un periodo di tempo specificato. Esaminare i log del sistema a monte per determinare la causa della connessione del proxy a monte al server backend.
Le soluzioni possibili includono:
-
Aumentare la quantità di tempo per il timeout della connessione.
-
Determinare perché il server backend impiega più tempo a rispondere del solito utilizzando una utility, come tcpdump e strumenti applicativi integrati.
Per ulteriori informazioni, vedere Errori del gateway errato HTTP 502.