Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CloudFront restituisce un codice di stato HTTP 502 (Bad Gateway) quando CloudFront non è stato in grado di servire l'oggetto richiesto perché non è riuscito a connettersi al server di origine.
Se utilizzi Lambda @Edge, il problema potrebbe essere un errore di convalida Lambda. Se ricevi un errore HTTP 502 con il codice di NonS3OriginDnsError
errore, probabilmente c'è un problema di configurazione DNS che CloudFront impedisce la connessione all'origine.
Argomenti
Errore di negoziazione SSL/TLS tra e un server di origine personalizzato CloudFront
Se utilizzi un'origine personalizzata che richiede HTTPS tra CloudFront e la tua origine, i nomi di dominio non corrispondenti potrebbero causare errori. Il certificato SSL/TLS relativo all'origine deve includere un nome di dominio che corrisponda al dominio di origine specificato per la CloudFront distribuzione o all'intestazione della richiesta di origine. Host
Se i nomi di dominio non corrispondono, l'handshake SSL/TLS ha esito negativo e CloudFront restituisce un codice di stato HTTP 502 (Bad Gateway) e imposta l'intestazione su. X-Cache
Error from cloudfront
Per determinare se i nomi di dominio nel certificato corrispondono al dominio di origine nella distribuzione o nell'Host
intestazione, puoi utilizzare un correttore SSL online o OpenSSL. Se i nomi di dominio non corrispondono, hai due opzioni:
-
Ottenere un nuovo certificato SSL/TLS che include i nomi di dominio applicabili.
Se utilizzi AWS Certificate Manager (ACM), consulta Richiesta di un certificato pubblico nella Guida per l'AWS Certificate Manager utente per richiedere un nuovo certificato.
-
Modifica la configurazione di distribuzione in modo che CloudFront non tenti più di utilizzare SSL per connetterti con la tua origine.
Strumento di verifica SSL online
Per trovare uno strumento di verifica SSL, cerca "online ssl checker" su Internet. In genere, specifichi il nome del tuo dominio e lo strumento restituisce varie informazioni sul tuo certificato SSL/TLS. Conferma che il certificato contiene il tuo nome di dominio nel campo Nomi comuni o Nomi alternativi oggetto.
OpenSSL
Per aiutare a risolvere gli errori HTTP 502 di CloudFront, puoi usare OpenSSL per provare a effettuare una configurazione. SSL/TLS connection to your origin server. If OpenSSL is not able
to make a connection, that can indicate a problem with your origin server's
SSL/TLS Se OpenSSL è in grado di stabilire una connessione, restituisce le informazioni sul certificato del server di origine, inclusi il nome comune (campo Subject CN
) del certificato e il nome alternativo dell'oggetto (campo Subject Alternative Name
).
Usa il seguente comando OpenSSL per testare la connessione al tuo server di origine (origin domain
sostituiscilo con il nome di dominio del server di origine, ad esempio example.com):
openssl s_client -connect
origin domain
name
:443
Se sono vere le seguenti condizioni:
-
Il server di origine supporta più nomi di dominio con più certificati SSL/TLS
-
La distribuzione è configurata per inoltrare l'intestazione
Host
all'origine
Quindi aggiungi l'-servername
opzione al comando OpenSSL, come nell'esempio seguente (CNAME
sostituisci con il CNAME configurato nella tua distribuzione):
openssl s_client -connect
origin domain
name
:443 -servername
CNAME
L'origine non risponde con crittografie/protocolli supportati
CloudFront si connette ai server di origine utilizzando cifrari e protocolli. Per un elenco dei cifrari e dei protocolli supportati CloudFront , vedere. Protocolli e cifrari supportati tra e l'origine CloudFront Se l'origine non risponde con uno di questi codici o protocolli nello scambio SSL/TLS, non riesce a connettersi. CloudFront Puoi verificare che la tua origine supporta protocolli e le crittografie utilizzando un tool online come SSL Labs
Il certificato SSL/TLS sull'origine è scaduto, non valido, autofirmato oppure l'ordine della catena di certificati non è corretto
Se il server di origine restituisce quanto segue, CloudFront interrompe la connessione TCP, restituisce il codice di stato HTTP 502 (Bad Gateway) e imposta l'intestazione su: X-Cache
Error from cloudfront
-
Certificato scaduto
-
Certificato non valido
-
Certificato autofirmato
-
Ordine della catena di certificati non corretto
Nota
Se l'intera catena di certificati, incluso il certificato intermedio, non è presente, la connessione TCP viene interrotta CloudFront .
Per informazioni sull’installazione di un certificato SSL/TLS sul server di origine personalizzato, consultare Richiedi HTTPS per la comunicazione tra CloudFront e la tua origine personalizzata.
L'origine non risponde sulle porte specificate nelle impostazioni dell'origine
Quando crei un'origine sulla tua CloudFront distribuzione, puoi impostare le porte che CloudFront si connettono all'origine per il traffico HTTP e HTTPS. Per impostazione predefinita, queste porte sono TCP 80/443. Hai comunque la possibilità di modificare queste porte. Se la tua origine rifiuta il traffico su queste porte per qualsiasi motivo o se il tuo server di backend non risponde sulle porte, non CloudFront riuscirà a connettersi.
Per risolvere questi problemi, verifica tutti i firewall in esecuzione nell'infrastruttura e assicurati che non blocchino gli intervalli di indirizzi IP. Per ulteriori informazioni, consulta gli intervalli di indirizzi AWS IP nella Amazon VPC User Guide. Inoltre, verifica se il server Web è in esecuzione sull'origine.
Errore di convalida Lambda
Se utilizzi Lambda@Edge, un codice di stato HTTP 502 può indicare che la risposta della funzione Lambda non è stata correttamente formata o che include contenuti non validi. Per ulteriori informazioni sulla risoluzione di errori Lambda@Edge, consulta Test ed esegui il debug delle funzioni Lambda @Edge.
CloudFront errore di convalida della funzione
Se utilizzi CloudFront funzioni, un codice di stato HTTP 502 può indicare che la CloudFront funzione sta tentando di aggiungere, eliminare o modificare un'intestazione di sola lettura. Questo errore non viene visualizzato durante il test, ma verrà visualizzato dopo aver distribuito la funzione ed eseguito la richiesta. Per risolvere questo errore, controlla e aggiorna la tua CloudFront funzione. Per ulteriori informazioni, consulta Funzioni di aggiornamento.
Errore DNS () NonS3OriginDnsError
Un errore HTTP 502 con il codice NonS3OriginDnsError
di errore indica che esiste un problema di configurazione DNS che CloudFront impedisce la connessione all'origine. Se ricevi questo errore da CloudFront, assicurati che la configurazione DNS dell'origine sia corretta e funzionante.
Quando CloudFront riceve una richiesta per un oggetto scaduto o non presente nella cache, invia una richiesta all'origine per ottenere l'oggetto. Per effettuare una richiesta corretta all'origine, CloudFront esegue una risoluzione DNS sul dominio di origine. Se il servizio DNS per il tuo dominio presenta problemi, non CloudFront riesci a risolvere il nome di dominio per ottenere l'indirizzo IP, generando un errore HTTP 502 (). NonS3OriginDnsError
Per risolvere il problema, contatta il tuo provider DNS oppure, se utilizzi Amazon Route 53, consulta Perché non riesco ad accedere al mio sito Web che utilizza i servizi DNS di Route 53?
Per risolvere il problema, accertati inoltre che i server dei nomi autorevoli del dominio root o dell'apex di zona dell'origine (ad esempio example.com
) funzionino correttamente. Puoi usare i seguenti comandi per trovare i server dei nomi per l'origine apex, con uno strumento come dig
dig
OriginAPEXDomainName
NS +short
nslookup -query=NS
OriginAPEXDomainName
Quando disponi dei nomi del server dei nomi, utilizza i comandi seguenti per eseguire una query sul nome di dominio dell'origine in base a tali nomi per assicurarti che ognuno risponda:
dig
OriginDomainName
@NameServer
nslookup
OriginDomainName
NameServer
Importante
Assicurati di eseguire questa risoluzione dei problemi DNS utilizzando un computer connesso alla rete Internet pubblica. CloudFront risolve il dominio di origine utilizzando DNS pubblico su Internet, quindi è importante risolvere i problemi in un contesto simile.
Se l'origine è un dominio secondario la cui autorità DNS è delegata a un server di nomi diverso dal dominio principale, assicurati che il record del server dei nomi (NS
) e il record di origine di autorità (SOA
) siano configurati correttamente per il dominio secondario. È possibile verificare la presenza di questi record utilizzando comandi simili agli esempi precedenti.
Per ulteriori informazioni sul DNS, consulta i concetti del sistema dei nomi di dominio (DNS) nella documentazione di Amazon Route 53.
Errore 502 di origine di Application Load Balancer
Se utilizzi Application Load Balancer come origine e ricevi un errore 502, vedi Come posso risolvere gli errori HTTP 502 di Application Load Balancer
Errore 502 di origine dell'API Gateway
Se utilizzi API Gateway e ricevi un errore 502, vedi Come posso risolvere gli errori HTTP 502 da API Gateway REST con l'integrazione del proxy APIs Lambda