Perché ricevo un errore HTTP 5xx quando mi connetto a server Web eseguiti su istanze EC2 configurate per utilizzare Classic Load Balancing?

3 minuti di lettura
0

Ho ricevuto un errore HTTP 502, 503 o 504 quando ho provato a connettermi ai server Web. I server Web vengono eseguiti su istanze EC2 configurate per utilizzare Classic Load Balancing.

Risoluzione

HTTP 502 (Bad Gateway)

Potresti ricevere un errore HTTP 502 se un Classic Load Balancer non è in grado di analizzare un messaggio. Il server Web o i server delle applicazioni backend associati in esecuzione su istanze EC2 restituiscono un messaggio che un Classic Load Balancer non può analizzare. Per ulteriori informazioni, vedi Come posso risolvere gli errori HTTP 502 quando effettuo richieste attraverso Classic Load Balancer?

HTTP 503 (Service Unavailable)

Gli errori HTTP 503 si verificano per i seguenti motivi:

  • La coda di sovratensione è piena. Esamina la metrica SpilloverCount per verificare che le tue istanze abbiano la capacità di gestire la frequenza delle richieste.
  • Non ci sono istanze integre. Assicurati di avere istanze integre in ogni zona di disponibilità a cui risponde il sistema di bilanciamento del carico. A tale scopo, esamina la metrica HealthyHostCount. Per ulteriori informazioni, consulta Risoluzione dei problemi di un Classic Load Balancer: controlli dello stato.
  • Non hai registrato almeno un'istanza in ogni zona di disponibilità in cui risponde il tuo sistema di bilanciamento del carico. Se non riesci a confermare che un'istanza sia registrata in ogni zona di disponibilità, attiva il bilanciamento del carico tra zone.
  • Lo svuotamento della connessione non è attivato per il Classic Load Balancer con cui sono registrate le istanze del server Web.

Per ulteriori informazioni, consulta Come risolvere gli errori HTTP 503 restituiti durante l'utilizzo di Classic Load Balancer?

HTTP 504 (Gateway Timeout)

Gli errori HTTP 504 si verificano per i seguenti motivi:

  • Le istanze del server Web o del server di applicazioni back-end sono occupate e non possono rispondere alle richieste entro il limite di timeout di inattività di Elastic Load Balancing (ELB) configurato. Per ulteriori informazioni, consulta Come posso risolvere i problemi di latenza elevata sul mio ELB Classic Load Balancer?
  • Le istanze del server Web o le istanze del server di applicazioni back-end interrompono le connessioni prima del sistema di bilanciamento del carico. Ciò si traduce in interruzioni premature della connessione.
  • Le istanze del server Web o le istanze del server di applicazioni back-end si bloccano i processi del server si riavviano quando le richieste sono in corso. Ciò comporta l'interruzione di tutte le connessioni da parte del server.
  • Le istanze del server Web Apache hanno l'opzione AcceptFilter http/https attivata. Questo indica ad Apache di implementare TCP_DEFER_ACCEPT sulle connessioni.
  • L'MPM event (dal sito Web Apache) è attivato per le istanze del server Web Apache, ma gli MPM prefork e worker (dal sito Web Apache) non sono configurati in modo ottimale. Il limite di timeout di inattività predefinito dell'ELB è di 60 secondi. Per ulteriori informazioni, consulta Quali sono le impostazioni ottimali per l'utilizzo di Apache o NGINX come server backend per ELB?

Per ulteriori informazioni, consulta Come posso risolvere gli errori HTTP 504 restituiti durante l'utilizzo di un Classic Load Balancer?

Informazioni correlate

Cos'è Elastic Load Balancing?

Tutorial: Crea un Classic Load Balancer

Configura i controlli dell'integrità per il tuo Classic Load Balancer

Monitora il tuo Classic Load Balancer

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa