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 werden die HTTP-Statuscodes 4xx und 5xx von Ihrem Ursprung verarbeitet
Wenn CloudFront Sie ein Objekt von Ihrem Amazon S3 S3-Bucket oder Ihrem benutzerdefinierten Ursprungsserver anfordern, gibt Ihr Origin manchmal einen HTTP-Statuscode 4xx oder 5xx 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 Fehler-Caching)
-
Der Statuscode
-
Bei 5xx-Statuscodes, ob sich das angeforderte Objekt derzeit im CloudFront Edge-Cache befindet
-
Gibt bei einigen 4xx-Statuscodes an, ob der Ursprung einen
Cache-Control max-age
Header oder zurückgibtCache-Control s-maxage
CloudFront speichert immer Antworten auf GET
und HEAD
Anfragen im Cache. Sie können auch so konfigurieren CloudFront , dass Antworten auf OPTIONS
Anfragen zwischengespeichert werden. CloudFront speichert keine Antworten auf Anfragen, die die anderen Methoden verwenden.
Wenn der Ursprung nicht antwortet, wird bei der CloudFront Anfrage an den Ursprung ein Timeout erreicht, was als HTTP 5xx-Fehler des Ursprungs angesehen wird, obwohl der Ursprung 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 Fehlermeldung beziehen CloudFront, von der zurückgegeben wurde, finden Sie im Folgenden:
-
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 Mindest-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 werden Fehler verarbeitet, 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 Ursprungs-Server gibt einen HTTP-Statuscode 4xx ohne
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 empfangen hat, Ihre Distributionskonfiguration und ruft den Pfad der benutzerdefinierten Fehlerseite ab, die dem Statuscode entspricht, den Ihr Origin zurückgegeben hat.
-
CloudFront findet das erste Cache-Verhalten in Ihrer Distribution, dessen Pfadmuster dem Pfad der benutzerdefinierten Fehlerseite entspricht.
-
Der CloudFront Edge-Standort 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 Anfrage gestellt hat, und speichert die benutzerdefinierte Fehlerseite für maximal die folgenden Werte 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
-
-
Nach Ablauf der (in Schritt 5 festgelegten) Cache-Zeit wird erneut CloudFront versucht, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. CloudFront wiederholt den Vorgang in Intervallen, die durch die Mindest-TTL für das Zwischenspeichern des Fehlers 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.
-
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 Origin einen 5xx-Statuscode zurückgibt, CloudFront wird das Objekt bereitgestellt, obwohl es abgelaufen ist. Reagiert für die Dauer des Fehler-Cachings (Mindest-TTL) CloudFront weiterhin auf Viewer-Anfragen, indem das Objekt aus dem Edge-Cache bereitgestellt wird.
Wenn Ihr Ursprungsserver einen 4xx-Statuscode zurückgibt, sendet CloudFront den Statuscode anstelle des angeforderten Objekts an den Betrachter.
-
Wenn die Mindest-TTL für den Fehler beim Zwischenspeichern abgelaufen ist, wird erneut CloudFront versucht, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. Beachten Sie, dass das Objekt, wenn es nicht häufig angefordert wird, CloudFront möglicherweise aus dem Edge-Cache entfernt wird, während Ihr Ursprungsserver immer noch 5xx-Antworten zurückgibt. Informationen darüber, wie lange Objekte in CloudFront Edge-Caches verbleiben, finden Sie unter. Verwalten Sie, wie lange Inhalte im Cache verbleiben (Ablauf)
Wie CloudFront werden Fehler verarbeitet, 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 Ursprungs-Server gibt einen HTTP-Statuscode 4xx ohne
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 außerdem den Statuscode im Edge-Cache, der die Anforderung für maximal die folgenden Werte 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.
-
Nach Ablauf der (in Schritt 1 festgelegten) Caching-Zeit wird erneut CloudFront versucht, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. CloudFront wiederholt den Vorgang in Intervallen, die durch die Mindest-TTL für das Zwischenspeichern des Fehlers 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 Origin einen 5xx-Fehlercode zurückgibt, CloudFront wird das Objekt versendet, obwohl es abgelaufen ist. Reagiert für die Dauer des Fehler-Cachings (mindestens TTL) (standardmäßig 10 Sekunden) CloudFront weiterhin auf Viewer-Anfragen, indem das Objekt aus dem Edge-Cache bereitgestellt wird.
Wenn Ihr Ursprungsserver einen 4xx-Statuscode zurückgibt, sendet CloudFront den Statuscode anstelle des angeforderten Objekts an den Betrachter.
-
Nachdem die Mindest-TTL beim Zwischenspeichern des Fehlers abgelaufen ist, wird erneut CloudFront versucht, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. Wenn das Objekt nicht häufig angefordert wird, wird es CloudFront möglicherweise aus dem Edge-Cache entfernt, während Ihr Ursprungsserver immer noch 5xx-Antworten zurückgibt. Weitere Informationen finden Sie unter Verwalten Sie, wie lange Inhalte im Cache verbleiben (Ablauf).
Tipp
-
Wenn Sie die
Stale-While-Revalidate
Direktivestale-if-error
or konfigurieren, können Sie angeben, wie lange die veralteten Objekte im Edge-Cache verfügbar sind. Auf diese Weise können Sie Ihren Zuschauern weiterhin Inhalte bereitstellen, auch wenn Ihre Herkunft nicht verfügbar ist. Weitere Informationen finden Sie unter Stellt veraltete (abgelaufene) Inhalte bereit. -
CloudFront stellt nur ein Objekt bereit, das bis zum angegebenen maximalen TTL-Wert veraltet ist. 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 Ursprung zurückgegebenen HTTP 4xx- und 5xx-Statuscodes im Cache, abhängig vom jeweiligen Statuscode, der zurückgegeben wird, und davon, ob Ihr Ursprung in der Antwort bestimmte Header zurückgibt.
CloudFront speichert die folgenden HTTP-Statuscodes 4xx und 5xx, die von Ihrem Ursprung zurückgegeben wurden. 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 verwaltete Caches verwenden, CloudFront werden diese Statuscodes oder benutzerdefinierten Fehlerseiten nicht zwischengespeichert.
404 |
Not Found |
414 |
Anfrage-URI zu lang |
500 |
Internal Server Error |
501 |
Nicht implementiert |
502 |
Bad Gateway |
503 |
Service nicht verfügbar |
504 |
Gateway-Timeout |
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, zwischenspeichert, wenn Ihr Ursprung einen OR-Header zurückgibt. Cache-Control max-age
Cache-Control s-maxage
Wenn du eine benutzerdefinierte Fehlerseite für einen dieser HTTP-Statuscodes konfiguriert hast und dein Origin 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.