Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wie CloudFront verarbeitet die HTTP 4xx- und 5xx-Statuscodes von Ihrem Ursprung
Wenn Sie CloudFront ein Objekt von Ihrem Amazon S3-Bucket oder Ihrem benutzerdefinierten Ursprungsserver anfordern, gibt Ihr Ursprungsserver manchmal einen HTTP 4xx- oder 5xx-Statuscode zurück, der darauf hinweist, dass ein Fehler aufgetreten ist. CloudFront Das Verhalten hängt ab von:
-
ob Sie benutzerdefinierte Fehlerseiten konfiguriert haben
-
Ob Sie konfiguriert haben, wie lange Sie Fehlerantworten von Ihrem Ursprung zwischenspeichern CloudFront möchten (Mindest-TTL für das Zwischenspeichern von Fehlern)
-
dem Statuscode
-
Bei 5xx-Statuscodes, ob sich das angeforderte Objekt derzeit im Edge-Cache befindet CloudFront
-
bei einigen 4xx-Statuscodes, ob der Ursprung einen
Cache-Control max-age- oderCache-Control s-maxage-Header zurückgibt
CloudFront speichert Antworten auf GET und HEAD Anfragen immer im Cache. Sie können auch so konfigurieren CloudFront , dass Antworten auf OPTIONS Anfragen zwischengespeichert werden. CloudFront speichert Antworten auf Anfragen, die die anderen Methoden verwenden, nicht im Cache.
Wenn der Absender nicht antwortet, kommt es bei der CloudFront Anfrage an den Ursprung zu einem Timeout, was als HTTP 5xx-Fehler vom Ursprung betrachtet wird, obwohl der Absender nicht mit diesem Fehler geantwortet hat. In diesem Szenario werden CloudFront weiterhin zwischengespeicherte Inhalte bereitgestellt. Weitere Informationen finden Sie unter Ursprung nicht verfügbar.
Wenn Sie die Protokollierung aktiviert haben, werden die Ergebnisse unabhängig vom HTTP-Statuscode in die Protokolle CloudFront geschrieben.
Weitere Informationen zu Funktionen und Optionen, die sich auf die von Ihnen zurückgegebene Fehlermeldung beziehen CloudFront, finden Sie unter den folgenden Links:
-
Informationen zu Einstellungen für benutzerdefinierte Fehlerseiten in der CloudFront Konsole finden Sie unterBenutzerdefinierte Fehlerseiten und Zwischenspeicherung von Fehlern.
-
Hinweise zum Fehler beim Zwischenspeichern der minimalen TTL in der CloudFront Konsole finden Sie unter. Mindest-TTL für die Zwischenspeicherung von Fehlern (Sekunden)
-
Eine Liste der HTTP-Statuscodes, die CloudFront zwischengespeichert werden, finden Sie unter. HTTP-Statuscodes 4xx und 5xx, die zwischengespeichert werden CloudFront
Themen
Wie CloudFront verarbeitet Fehler, wenn Sie benutzerdefinierte Fehlerseiten konfiguriert haben
Wenn Sie benutzerdefinierte Fehlerseiten konfiguriert haben, hängt CloudFront das Verhalten davon ab, ob sich das angeforderte Objekt im Edge-Cache befindet.
Das angeforderte Objekt ist nicht im Edge-Cache vorhanden
CloudFront versucht weiterhin, das angeforderte Objekt von Ihrem Ursprung abzurufen, wenn alle der folgenden Bedingungen zutreffen:
-
Ein Viewer fordert ein Objekt an.
-
Das Objekt ist nicht im Edge-Cache vorhanden.
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 4xx oder 5xx zurück und eines der Folgenden ist wahr:
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 5xx anstelle eines Statuscodes 304 (nicht geändert) oder eine aktualisierte Version des Objekts zurück.
-
Ihr Ursprungs-Server gibt einen HTTP-Statuscode 4xx zurück, der nicht durch einen Cache-Control-Header eingeschränkt und in der folgenden Statuscodeliste enthalten is: HTTP-Statuscodes 4xx und 5xx, die zwischengespeichert werden CloudFront.
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 4xx mit einem
Cache-Control max-age- oderCache-Control s-maxage-Header zurück und der Statuscode ist in der folgenden Statuscodeliste enthalten: HTTP 4xx-Statuscodes, die basierend auf CloudFront Headern zwischengespeichert werden Cache-Control.
-
CloudFront macht Folgendes:
-
CloudFront Überprüft im CloudFront Edge-Cache, der die Viewer-Anfrage erhalten hat, Ihre Verteilungskonfiguration und ruft den Pfad der benutzerdefinierten Fehlerseite ab, die dem Statuscode entspricht, den Ihr Ursprung zurückgegeben hat.
-
CloudFront findet das erste Cache-Verhalten in Ihrer Distribution, das ein Pfadmuster hat, das dem Pfad der benutzerdefinierten Fehlerseite entspricht.
-
Die CloudFront Edge-Position sendet eine Anforderung für die benutzerdefinierte Fehlerseite an den Ursprung, der im Cache-Verhalten angegeben ist.
-
Der Ursprungsserver gibt die benutzerdefinierte Fehlerseite an den Edge-Standort zurück.
-
CloudFront gibt die benutzerdefinierte Fehlerseite an den Viewer zurück, der die Anforderung gestellt hat, und speichert außerdem die benutzerdefinierte Fehlerseite für maximal Folgendes im Cache:
-
Der Zeitraum, der durch die Mindest-TTL für die Zwischenspeicherung von Fehlern angegeben ist (standardmäßig zehn Sekunden)
-
Der Zeitraum, der durch einen
Cache-Control max-age- oder einenCache-Control s-maxage-Header angegeben ist, der vom Ursprungsserver zurückgegeben wird, wenn die erste Anfrage den Fehler generiert hat
-
-
CloudFront Versuchen Sie nach Ablauf der (in Schritt 5 festgelegten) Cache-Zeit erneut, das angeforderte Objekt abzurufen, indem Sie eine weitere Anfrage an Ihren Ursprung weiterleiten. CloudFront wiederholt den Vorgang in Intervallen, die durch die Mindest-TTL für den Fehler beim Zwischenspeichern festgelegt sind.
Anmerkung
Wenn Sie für dieselbe benutzerdefinierte Fehlerseite auch ein Cacheverhalten konfiguriert haben, wird stattdessen das Cache-Verhalten TTL CloudFront verwendet. Gehen Sie in diesem CloudFront Fall für die Schritte 5 und 6 wie folgt vor:
-
After CloudFront gibt die benutzerdefinierte Fehlerseite an den Viewer zurück, der die Anfrage gestellt hat, und CloudFront überprüft das Cacheverhalten TTL (Sie legen beispielsweise die Standard-TTL auf 5 Sekunden fest). CloudFront speichert dann die benutzerdefinierte Fehlerseite bis zu diesem Höchstwert im Cache.
-
CloudFront Ruft nach Ablauf von 5 Sekunden die benutzerdefinierte Fehlerseite erneut vom Ursprung ab. CloudFront versucht es weiterhin in Intervallen, die durch das Cache-Verhalten (TTL) festgelegt sind.
Weitere Informationen finden Sie unter TTL-Einstellungen für das Cacheverhalten.
Das angeforderte Objekt ist im Edge-Cache vorhanden
CloudFront bedient weiterhin das Objekt, das sich derzeit im Edge-Cache befindet, wenn alle der folgenden Bedingungen zutreffen:
-
Ein Viewer fordert ein Objekt an.
-
Das Objekt ist im Edge-Cache vorhanden, aber es ist abgelaufen.
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 5xx anstelle eines Statuscodes 304 (nicht geändert) oder eine aktualisierte Version des Objekts zurück.
CloudFront macht Folgendes:
-
Wenn Ihr Ursprung einen 5xx-Statuscode zurückgibt, CloudFront wird das Objekt bereitgestellt, obwohl es abgelaufen ist. Während der Dauer des Fehlers beim Caching reagiert TTL CloudFront weiterhin auf Viewer-Anfragen, indem es das Objekt aus dem Edge-Cache bereitstellt.
Wenn Ihr Ursprungsserver einen 4xx-Statuscode zurückgibt, sendet CloudFront den Statuscode anstelle des angeforderten Objekts an den Betrachter.
-
CloudFront Versuchen Sie erneut, das angeforderte Objekt abzurufen, indem Sie eine weitere Anfrage an Ihren Ursprung weiterleiten, nachdem der Fehler beim Zwischenspeichern der TTL abgelaufen ist. Beachten Sie, dass das Objekt, wenn es nicht häufig angefordert wird, CloudFront möglicherweise aus dem Edge-Cache entfernt wird, während Ihr Originalserver immer noch 5xx-Antworten zurückgibt. Hinweise dazu, wie lange Objekte in CloudFront Edge-Caches bleiben, finden Sie unter. Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf)
Wie CloudFront verarbeitet Fehler, wenn Sie keine benutzerdefinierten Fehlerseiten konfiguriert haben
Wenn Sie keine benutzerdefinierten Fehlerseiten konfiguriert haben, hängt CloudFront das Verhalten davon ab, ob sich das angeforderte Objekt im Edge-Cache befindet.
Themen
Das angeforderte Objekt ist nicht im Edge-Cache vorhanden
CloudFront versucht weiterhin, das angeforderte Objekt von Ihrem Ursprung abzurufen, wenn alle der folgenden Bedingungen zutreffen:
-
Ein Viewer fordert ein Objekt an.
-
Das Objekt ist nicht im Edge-Cache vorhanden.
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 4xx oder 5xx zurück und eines der Folgenden ist wahr:
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 5xx anstelle eines Statuscodes 304 (nicht geändert) oder eine aktualisierte Version des Objekts zurück.
-
Ihr Ursprungs-Server gibt einen HTTP-Statuscode 4xx zurück, der nicht durch einen Cache-Control-Header eingeschränkt und in der folgenden Statuscodeliste enthalten is: HTTP-Statuscodes 4xx und 5xx, die zwischengespeichert werden CloudFront
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 4xx mit einem
Cache-Control max-age- oderCache-Control s-maxage-Header zurück und der Statuscode ist in der folgenden Statuscodeliste enthalten: HTTP 4xx-Statuscodes, die basierend auf CloudFront Headern zwischengespeichert werden Cache-Control.
-
CloudFront macht Folgendes:
-
CloudFront gibt den 4xx- oder 5xx-Statuscode an den Viewer zurück und speichert auch den Statuscode im Edge-Cache, der die Anforderung für maximal Folgendes erhalten hat:
-
Der Zeitraum, der durch die Mindest-TTL für die Zwischenspeicherung von Fehlern angegeben ist (standardmäßig zehn Sekunden)
-
Der Zeitraum, der durch einen
Cache-Control max-age- oder einenCache-Control s-maxage-Header angegeben ist, der vom Ursprungsserver zurückgegeben wird, wenn die erste Anfrage den Fehler generiert hat
-
-
Für die Dauer der Zwischenspeicherung (in Schritt 1 bestimmt) reagiert CloudFront auf nachfolgende Viewer-Anfragen für dasselbe Objekte mit den zwischengespeicherten Statuscodes 4xx und 5xx.
-
CloudFront Versuchen Sie nach Ablauf der (in Schritt 1 festgelegten) Cache-Zeit erneut, das angeforderte Objekt abzurufen, indem Sie eine weitere Anfrage an Ihren Ursprung weiterleiten. CloudFront wiederholt den Vorgang in Intervallen, die durch die Mindest-TTL für den Fehler beim Zwischenspeichern festgelegt sind.
Das angeforderte Objekt ist im Edge-Cache vorhanden
CloudFront bedient weiterhin das Objekt, das sich derzeit im Edge-Cache befindet, wenn alle der folgenden Bedingungen zutreffen:
-
Ein Viewer fordert ein Objekt an.
-
Das Objekt ist im Edge-Cache vorhanden, aber es ist abgelaufen. Das bedeutet, dass das Objekt veraltet ist.
-
Ihr Ursprungsserver gibt einen HTTP-Statuscode 5xx anstelle eines Statuscodes 304 (nicht geändert) oder eine aktualisierte Version des Objekts zurück.
CloudFront macht Folgendes:
-
Wenn Ihr Ursprung einen 5xx-Fehlercode zurückgibt, CloudFront wird das Objekt bereitgestellt, obwohl es abgelaufen ist. Während der Dauer des Fehlers beim Zwischenspeichern der TTL-Mindestwert (standardmäßig 10 Sekunden) reagiert CloudFront weiterhin auf Viewer-Anfragen, indem er das Objekt aus dem Edge-Cache bereitstellt.
Wenn Ihr Ursprungsserver einen 4xx-Statuscode zurückgibt, sendet CloudFront den Statuscode anstelle des angeforderten Objekts an den Betrachter.
-
CloudFront Versuchen Sie erneut, das angeforderte Objekt abzurufen, indem Sie eine weitere Anfrage an Ihren Ursprung weiterleiten, nachdem die Mindest-TTL für den Fehler beim Zwischenspeichern abgelaufen ist. Wenn das Objekt nicht häufig angefordert wird, löschen Sie es CloudFront möglicherweise aus dem Edge-Cache, während Ihr Original-Server immer noch 5xx-Antworten zurückgibt. Weitere Informationen finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf).
Tipp
-
Wenn Sie die Direktive
stale-if-erroroderStale-While-Revalidatekonfigurieren, können Sie angeben, wie lange die veralteten Objekte im Edge-Cache verfügbar sein sollen. Auf diese Weise können Sie Ihren Viewern auch dann Inhalte bereitstellen, wenn Ihr Ursprung nicht verfügbar ist. Weitere Informationen finden Sie unter Bereitstellung veralteter (abgelaufener) Inhalte. -
CloudFront liefert nur Objekte, die bis zum angegebenen TTL-Maximalwert veraltet sind. Nach Ablauf dieser Dauer ist das Objekt nicht mehr im Edge-Cache verfügbar.
HTTP-Statuscodes 4xx und 5xx, die zwischengespeichert werden CloudFront
CloudFront speichert die von Ihrem Absender zurückgegebenen HTTP 4xx- und 5xx-Statuscodes im Cache, abhängig vom spezifischen Statuscode, der zurückgegeben wird, und davon, ob Ihr Ursprung bestimmte Header in der Antwort zurückgibt.
CloudFront speichert die folgenden HTTP 4xx- und 5xx-Statuscodes, die von Ihrem Absender zurückgegeben wurden, im Cache. Wenn Sie eine benutzerdefinierte Fehlerseite für einen HTTP-Statuscode konfiguriert haben, wird die benutzerdefinierte Fehlerseite CloudFront zwischengespeichert.
Anmerkung
Wenn Sie die Richtlinie für CachingDisabled verwalteten Cache verwenden, CloudFront werden diese Statuscodes oder benutzerdefinierten Fehlerseiten nicht zwischengespeichert.
|
404 |
Not Found |
|
414 |
Request-URI Zu groß |
|
500 |
Internal Server Error |
|
501 |
Nicht implementiert |
|
502 |
Bad Gateway |
|
503 |
Service nicht verfügbar |
|
504 |
Gateway Time-out |
HTTP 4xx-Statuscodes, die basierend auf CloudFront Headern zwischengespeichert werden Cache-Control
CloudFront speichert nur die folgenden HTTP 4xx-Statuscodes, die von Ihrem Ursprung zurückgegeben werden, im Cache, wenn Ihr Ursprung einen OR-Header zurückgibt. Cache-Control max-age Cache-Control s-maxage Wenn Sie eine benutzerdefinierte Fehlerseite für einen dieser HTTP-Statuscodes konfiguriert haben — und Ihr Ursprung einen der Cache-Control-Header zurückgibt —, wird die benutzerdefinierte Fehlerseite CloudFront zwischengespeichert.
|
400 |
Inkorrekte Anfrage |
|
403 |
Forbidden |
|
405 |
Method Not Allowed |
|
412¹ |
Vorbedingung fehlgeschlagen |
|
415¹ |
Unsupported Media Type (Nicht unterstützter Medientyp) |
¹ unterstützt CloudFront nicht die Erstellung benutzerdefinierter Fehlerseiten für diese HTTP-Statuscodes.