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.

  1. 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
  2. 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.
    • 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.

    • 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.

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.