Come posso risolvere gli errori 504 in CloudFront?
Sto utilizzando una distribuzione di Amazon CloudFront per fornire contenuti. Tuttavia, i visualizzatori ricevono un errore 504 quando provano ad accedere al contenuto tramite un browser Web. Come posso risolvere questi errori?
Breve descrizione
CloudFront restituisce due tipi di errori 504:
- 504: gli errori di "timeout gateway" si verificano quando l'errore viene restituito dall'origine e quindi passa attraverso CloudFront al visualizzatore.
- 504: gli errori "Impossibile soddisfare la richiesta" si verificano quando l'origine non ha risposto a CloudFront nel periodo di tempo assegnato e quindi la richiesta è scaduta.
A seconda del messaggio di errore ricevuto, consulta la relativa sezione contenente la risoluzione.
Risoluzione
504: errore "Timeout gateway"
Verifica che le porte corrette siano aperte sul tuo gruppo di sicurezza.
Assicurati che il server di origine consenta il traffico in entrata da CloudFront, in genere sulla porta 443 o 80.
Se la tua origine utilizza Elastic Load Balancing, rivedi i gruppi di sicurezza ELB. Assicurati che i gruppi di sicurezza consentano il traffico in entrata da CloudFront.
Verifica che il firewall del server di origine consenta le connessioni da CloudFront
A seconda del sistema operativo, verifica che il firewall consenta il traffico per le porte 443 e 80.
Se stai usando Redhat Linux View, verifica che le regole del firewall corrispondano alle seguenti impostazioni.
Regole firewall:
$ sudo firewall-cmd --permanent --zone=public --list-ports
Aggiungi regole in modo permanente:
$ sudo firewall-cmd --permanent --zone=public --add-port=80/tcp $ sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
Se utilizzi Ubuntu Linux, verifica che le regole del firewall corrispondano alle seguenti impostazioni.
Regole firewall di Ubuntu Linux View:
$ sudo ufw status verbose
Aggiungi regole in modo permanente:
$ sudo ufw allow 80 $ sudo ufw allow 443
Se utilizzi Windows Firewall su un server Windows, consulta Aggiunta o modifica di una regola firewall nella documentazione di Microsoft.
Assicurati che il tuo server personalizzato sia accessibile su Internet
Se CloudFront non è in grado di accedere all'origine tramite Internet, CloudFront restituisce un errore 504. Per verificare che il traffico Internet possa connettersi alla tua origine, controlla che le tue regole HTTP e HTTPS corrispondano alle seguenti impostazioni.
Per il traffico HTTPS:
nc -zv OriginDomainName/IP_Address 443 telnet OriginDomainName/IP_Address 443
Per il traffico HTTP:
nc -zv OriginDomainName 80 telnet OriginDomainName 80
504: errore "Impossibile soddisfare la richiesta"
Misura la latenza di carico tipica e ad alto carico della tua applicazione Web
Usa il seguente comando per misurare la reattività della tua applicazione Web:
curl -w "DNS Lookup Time: %{time_namelookup} \nConnect time: %{time_connect} \nTLS Setup: %{time_appconnect} \nRedirect Time: %{time_redirect} \nTime to first byte: %{time_starttransfer} \nTotal time: %{time_total} \n" -o /dev/null https://www.example.com/yourobject
Nota: per , inserisci l'URL dell'applicazione Web che stai testando.
Dovresti visualizzare un output simile al seguente:
DNS Lookup Time: 0.212319 Connect time: 0.371254 TLS Setup: 0.544175 Redirect Time: 0.000000 Time to first byte: 0.703863 Total time: 0.703994
A seconda della posizione della richiesta, risolvi il passaggio che mostra una latenza elevata.
Aggiungi risorse o ottimizza server e database
Assicurati che il tuo server disponga di CPU, memoria e spazio su disco sufficienti per gestire le richieste dei visualizzatori.
Configura connessioni persistenti sul tuo server di backend. Queste connessioni aiutano la latenza quando le connessioni devono essere ristabilite per le richieste successive.
Regola il valore di timeout di CloudFront
Se i precedenti passaggi di risoluzione dei problemi non hanno risolto gli errori HTTP 504, aggiorna il tempo specificato nella distribuzione per il timeout della risposta all'origine.
Informazioni correlate
Contenuto pertinente
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa