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à.
Come CloudFront elabora i codici di stato HTTP 4xx e 5xx a partire dalla tua origine
Quando CloudFront richiede un oggetto dal bucket Amazon S3 o dal server di origine personalizzato, l'origine a volte restituisce un codice di stato HTTP 4xx o 5xx, che indica che si è verificato un errore. CloudFront il comportamento dipende da:
-
Se sono state configurate pagine di errore personalizzate
-
Se hai configurato per quanto tempo desideri CloudFront memorizzare nella cache le risposte di errore dalla tua origine (minimo TTL errore di memorizzazione nella cache)
-
Il codice di stato
-
Per i codici di stato 5xx, indica se l'oggetto richiesto è attualmente nella cache CloudFront edge
-
Per alcuni codici di stato 4xx, indica se l'origine restituisce un'
Cache-Control max-age
intestazione oCache-Control s-maxage
CloudFront memorizza sempre nella cache le risposte e le richieste. GET
HEAD
È inoltre possibile configurare CloudFront la memorizzazione nella cache delle risposte alle OPTIONS
richieste. CloudFront non memorizza nella cache le risposte alle richieste che utilizzano gli altri metodi.
Se l'origine non risponde, la CloudFront richiesta all'origine scade, il che è considerato un errore HTTP 5xx dall'origine, anche se l'origine non ha risposto con quell'errore. In questo scenario, CloudFront continua a fornire contenuti memorizzati nella cache. Per ulteriori informazioni, consulta Origine non disponibile.
Se hai abilitato la registrazione, CloudFront scrive i risultati nei registri indipendentemente dal codice di stato. HTTP
Per ulteriori informazioni sulle funzionalità e le opzioni relative al messaggio di errore restituito da CloudFront, consulta quanto segue:
-
Per informazioni sulle impostazioni per le pagine di errore personalizzate nella CloudFront console, consultaCustom Error Pages and Error Caching (Pagine di errore personalizzate e caching errori).
-
Per informazioni sul numero minimo di errori di memorizzazione nella cache TTL nella CloudFront console, consultaMinimo errore di memorizzazione nella cache TTL (secondi).
-
Per un elenco dei codici di HTTP stato memorizzati nella CloudFront cache, consulta. HTTPcodici di stato 4xx e 5xx memorizzati nella cache CloudFront
Argomenti
In che modo CloudFront elabora gli errori quando sono state configurate pagine di errore personalizzate
Se sono state configurate pagine di errore personalizzate, CloudFront il comportamento dipende dal fatto che l'oggetto richiesto si trovi nella cache edge.
L'oggetto richiesto non è nella cache edge
CloudFront continua a cercare di ottenere l'oggetto richiesto dall'origine quando tutte le seguenti condizioni sono vere:
-
Un visualizzatore richiede un oggetto.
-
L'oggetto non è nella cache edge.
-
La tua origine restituisce un codice di stato HTTP 4xx o 5xx e una delle seguenti condizioni è vera:
-
La tua origine restituisce un codice di stato HTTP 5xx invece di restituire un codice di stato 304 (non modificato) o una versione aggiornata dell'oggetto.
-
La tua origine restituisce un codice di stato HTTP 4xx che non è limitato da un'intestazione di controllo della cache ed è incluso nel seguente elenco di codici di stato:. HTTPcodici di stato 4xx e 5xx memorizzati nella cache CloudFront
-
La tua origine restituisce un codice di stato HTTP 4xx senza
Cache-Control max-age
intestazione o intestazione, e il codice di stato è incluso nel seguente elenco di codici di stato: Controllo.Cache-Control s-maxage
HTTPcodici di stato 4xx che vengono memorizzati CloudFront nella cache in base alle intestazioni Cache-Control
-
CloudFront fa quanto segue:
-
Nell' CloudFront edge cache che ha ricevuto la richiesta del visualizzatore, CloudFront controlla la configurazione della distribuzione e ottiene il percorso della pagina di errore personalizzata che corrisponde al codice di stato restituito dall'origine.
-
CloudFront trova il primo comportamento della cache nella distribuzione con un modello di percorso che corrisponde al percorso della pagina di errore personalizzata.
-
L' CloudFront edge location invia una richiesta per la pagina di errore personalizzata all'origine specificata nel comportamento della cache.
-
L'origine restituisce la pagina di errore personalizzata alla edge location.
-
CloudFront restituisce la pagina di errore personalizzata al visualizzatore che ha effettuato la richiesta e inoltre memorizza nella cache la pagina di errore personalizzata per il massimo dei seguenti elementi:
-
Il periodo di tempo specificato dal minimo di memorizzazione nella cache degli errori TTL (10 secondi per impostazione predefinita)
-
La quantità di tempo specificata da un'intestazione
Cache-Control max-age
oCache-Control s-maxage
restituita dall'origine quando la prima richiesta ha generato l'errore
-
-
Trascorso il tempo di memorizzazione nella cache (determinato nel passaggio 5), CloudFront riprova a recuperare l'oggetto richiesto inoltrando un'altra richiesta all'origine. CloudFront continua a riprovare a intervalli specificati dal minimo di memorizzazione nella cache degli errori. TTL
L'oggetto richiesto è nella cache edge
CloudFront continua a servire l'oggetto che si trova attualmente nella cache edge quando tutte le seguenti condizioni sono vere:
-
Un visualizzatore richiede un oggetto.
-
L'oggetto è nella cache edge ma è scaduto.
-
La tua origine restituisce un codice di stato HTTP 5xx invece di restituire un codice di stato 304 (non modificato) o una versione aggiornata dell'oggetto.
CloudFront fa quanto segue:
-
Se la tua origine restituisce un codice di stato 5xx, CloudFront serve l'oggetto anche se è scaduto. Per la durata minima della memorizzazione nella cache degli erroriTTL, CloudFront continua a rispondere alle richieste degli utenti servendo l'oggetto dalla cache edge.
Se la tua origine restituisce un codice di stato 4xx, CloudFront restituisce il codice di stato, non l'oggetto richiesto, al visualizzatore.
-
Trascorso il limite minimo TTL di memorizzazione nella cache degli errori, CloudFront riprova a recuperare l'oggetto richiesto inoltrando un'altra richiesta all'origine. Nota che se l'oggetto non viene richiesto frequentemente, CloudFront potrebbe eliminarlo dalla cache edge mentre il server di origine sta ancora restituendo 5xx risposte. Per informazioni sulla durata della permanenza degli oggetti nelle cache CloudFront edge, consulta. Gestisci la durata della permanenza dei contenuti nella cache (scadenza)
In che modo CloudFront elabora gli errori quando non sono state configurate pagine di errore personalizzate
Se non sono state configurate pagine di errore personalizzate, CloudFront il comportamento dipende dal fatto che l'oggetto richiesto si trovi nella cache edge.
L'oggetto richiesto non è nella cache edge
CloudFront continua a cercare di ottenere l'oggetto richiesto dall'origine quando tutte le seguenti condizioni sono vere:
-
Un visualizzatore richiede un oggetto.
-
L'oggetto non è nella cache edge.
-
La tua origine restituisce un codice di stato HTTP 4xx o 5xx e una delle seguenti condizioni è vera:
-
La tua origine restituisce un codice di stato HTTP 5xx invece di restituire un codice di stato 304 (non modificato) o una versione aggiornata dell'oggetto.
-
La tua origine restituisce un codice di stato HTTP 4xx che non è limitato da un'intestazione di controllo della cache ed è incluso nel seguente elenco di codici di stato: HTTPcodici di stato 4xx e 5xx memorizzati nella cache CloudFront
-
La tua origine restituisce un codice di stato HTTP 4xx senza un'
Cache-Control max-age
intestazione o un'Cache-Control s-maxage
intestazione e il codice di stato è incluso nel seguente elenco di codici di stato: Controllo. HTTPcodici di stato 4xx che vengono memorizzati CloudFront nella cache in base alle intestazioni Cache-Control
-
CloudFront fa quanto segue:
-
CloudFront restituisce il codice di stato 4xx o 5xx al visualizzatore e memorizza anche nella cache edge il codice di stato che ha ricevuto la richiesta per il massimo dei seguenti elementi:
-
Il periodo di tempo specificato dal minimo di memorizzazione nella cache degli errori TTL (10 secondi per impostazione predefinita)
-
La quantità di tempo specificata da un'intestazione
Cache-Control max-age
oCache-Control s-maxage
restituita dall'origine quando la prima richiesta ha generato l'errore
-
-
Per la durata del tempo di memorizzazione nella cache (determinato nel passaggio 1), CloudFront risponde alle successive richieste dei visualizzatori per lo stesso oggetto con il codice di stato 4xx o 5xx memorizzato nella cache.
-
Trascorso il tempo di memorizzazione nella cache (determinato nel passaggio 1), CloudFront riprova a recuperare l'oggetto richiesto inoltrando un'altra richiesta all'origine. CloudFront continua a riprovare a intervalli specificati dal minimo di memorizzazione nella cache degli errori. TTL
L'oggetto richiesto è nella cache edge
CloudFront continua a servire l'oggetto che si trova attualmente nella cache edge quando tutte le seguenti condizioni sono vere:
-
Un visualizzatore richiede un oggetto.
-
L'oggetto è nella cache edge ma è scaduto.
-
La tua origine restituisce un codice di stato HTTP 5xx invece di restituire un codice di stato 304 (non modificato) o una versione aggiornata dell'oggetto.
CloudFront fa quanto segue:
-
Se la tua origine restituisce un codice di errore 5xx, CloudFront serve l'oggetto anche se è scaduto. Per la durata minima della memorizzazione nella cache degli errori TTL (10 secondi per impostazione predefinita), CloudFront continua a rispondere alle richieste degli utenti servendo l'oggetto dalla cache edge.
Se la tua origine restituisce un codice di stato 4xx, CloudFront restituisce il codice di stato, non l'oggetto richiesto, al visualizzatore.
-
Trascorso il limite minimo TTL di memorizzazione nella cache degli errori, CloudFront riprova a recuperare l'oggetto richiesto inoltrando un'altra richiesta all'origine. Nota che se l'oggetto non viene richiesto frequentemente, CloudFront potrebbe eliminarlo dalla cache edge mentre il server di origine sta ancora restituendo 5xx risposte. Per informazioni sulla durata della permanenza degli oggetti nelle cache CloudFront edge, consulta. Gestisci la durata della permanenza dei contenuti nella cache (scadenza)
HTTPcodici di stato 4xx e 5xx memorizzati nella cache CloudFront
CloudFront memorizza nella cache i codici di stato HTTP 4xx e 5xx restituiti dall'origine, a seconda del codice di stato specifico restituito e del fatto che l'origine restituisca intestazioni specifiche nella risposta.
CloudFront memorizza nella cache i seguenti codici di stato HTTP 4xx e 5xx restituiti dall'origine. Se hai configurato una pagina di errore personalizzata per un codice di HTTP stato, CloudFront memorizza nella cache la pagina di errore personalizzata.
Nota
Se utilizzi la politica di cache CachingDisabled gestita, CloudFront non memorizzerà nella cache questi codici di stato o pagine di errore personalizzate.
404 |
Non trovato |
414 |
Richiesta: URI troppo grande |
500 |
Errore interno del server |
501 |
Non ancora disponibile |
502 |
Gateway non valido |
503 |
Servizio non disponibile |
504 |
Timeout gateway |
HTTPcodici di stato 4xx che vengono memorizzati CloudFront nella cache in base alle intestazioni Cache-Control
CloudFront memorizza nella cache solo i seguenti codici di stato HTTP 4xx restituiti dall'origine solo se l'origine restituisce un'intestazione or. Cache-Control max-age
Cache-Control s-maxage
Se hai configurato una pagina di errore personalizzata per uno di questi codici di HTTP stato e la tua origine restituisce una delle intestazioni di controllo della cache, memorizza nella cache la pagina di errore personalizzata. CloudFront
400 |
Richiesta non valida |
403 |
Accesso negato |
405 |
Metodo non consentito |
412¹ |
Precondizione non riuscita |
415¹ |
Tipo di supporto non supportato |
¹ CloudFront non supporta la creazione di pagine di errore personalizzate per questi codici di HTTP stato.