So CloudFront verarbeitet und speichert HTTP-Statuscodes 4xx und 5xx von Ihrem Ursprung - Amazon CloudFront

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.

So CloudFront verarbeitet und speichert HTTP-Statuscodes 4xx und 5xx von Ihrem Ursprung

Wenn ein Objekt von Ihrem Amazon S3-Bucket oder benutzerdefinierten Ursprungsserver CloudFront anfordert, gibt Ihr Ursprung manchmal einen HTTP-Statuscode 4xx oder 5xx zurück, der angibt, dass ein Fehler aufgetreten ist. CloudFront Verhalten hängt von Folgendem ab:

  • Ob Sie benutzerdefinierte Fehlerseiten konfiguriert haben

  • Ob Sie konfiguriert haben, wie lange Sie Fehlerantworten von Ihrem Ursprung zwischenspeichern möchten (Mindest-TTL CloudFront für die Zwischenspeicherung von Fehlern).

  • Welcher Statuscode gesendet wird

  • Bei 5xx-Statuscodes, ob sich das angeforderte Objekt derzeit im CloudFront Edge-Cache befindet.

  • (Bei einigen 4xx-Statuscodes) Ob der Ursprung einen Cache-Control max-age- oder einen Cache-Control s-maxage-Header zurückgibt.

CloudFront speichert Antworten auf - GET und -HEADAnforderungen immer zwischen. Sie können auch so konfigurieren CloudFront , dass Antworten auf OPTIONS requests. CloudFront does nicht auf Anfragen zwischengespeichert werden, die die anderen Methoden verwenden.

Wenn der Ursprung nicht reagiert, läuft die CloudFront Anfrage an den Ursprung ab, was als HTTP 5xx-Fehler vom Ursprung angesehen wird, obwohl der Ursprung nicht mit diesem Fehler geantwortet hat. In diesem Szenario CloudFront stellt weiterhin zwischengespeicherte Inhalte bereit. Weitere Informationen finden Sie unter Ursprung nicht verfügbar.

Wenn Sie die Protokollierung aktiviert haben, CloudFront schreibt die Ergebnisse unabhängig vom HTTP-Statuscode in die Protokolle.

Weitere Informationen zu Funktionen und Optionen, die sich auf die von zurückgegebene Fehlermeldung beziehen CloudFront, finden Sie im Folgenden:

So 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 erfüllt sind:

  • 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:

CloudFront führt Folgendes aus:

  1. Im CloudFront Edge-Cache, der die Viewer-Anforderung erhalten hat, CloudFront überprüft Ihre Verteilungskonfiguration und ruft den Pfad der benutzerdefinierten Fehlerseite ab, die dem Statuscode entspricht, den Ihr Ursprung zurückgegeben hat.

  2. CloudFront findet das erste Cache-Verhalten in Ihrer Verteilung, das ein Pfadmuster hat, das dem Pfad der benutzerdefinierten Fehlerseite entspricht.

  3. Der CloudFront Edge-Standort sendet eine Anforderung für die benutzerdefinierte Fehlerseite an den Ursprung, der im Cache-Verhalten angegeben ist.

  4. Der Ursprungsserver gibt die benutzerdefinierte Fehlerseite an den Edge-Standort zurück.

  5. CloudFront gibt die benutzerdefinierte Fehlerseite an den Betrachter zurück, der die Anforderung gestellt hat, und speichert die benutzerdefinierte Fehlerseite für das Maximum der folgenden Werte zwischen:

    • 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 einen Cache-Control s-maxage-Header angegeben ist, der vom Ursprungsserver zurückgegeben wird, wenn die erste Anfrage den Fehler generiert hat

  6. Nachdem die Caching-Zeit (in Schritt 5 festgelegt) abgelaufen ist, CloudFront versucht erneut, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. CloudFront setzt den Wiederholungsversuch in Intervallen fort, die durch die Mindest-TTL für die Zwischenspeicherung von Fehlern angegeben sind.

Das angeforderte Objekt ist im Edge-Cache vorhanden

CloudFront stellt weiterhin das Objekt bereit, das sich derzeit im Edge-Cache befindet, wenn alle der folgenden Bedingungen erfüllt sind:

  • 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 führt Folgendes aus:

  1. Wenn Ihr Ursprung einen 5xx-Statuscode zurückgibt, CloudFront stellt das Objekt bereit, auch wenn es abgelaufen ist. Für die Dauer der Mindest-TTL für die Zwischenspeicherung von Fehlern antwortet CloudFront weiterhin auf Betrachteranfragen, 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.

  2. Nachdem die Mindest-TTL für die Zwischenspeicherung von Fehlern abgelaufen ist, CloudFront versucht erneut, das angeforderte Objekt abzurufen, indem es eine weitere Anfrage an Ihren Ursprung weiterleitet. Beachten Sie, dass, wenn das Objekt nicht häufig angefordert wird, es möglicherweise aus dem Edge-Cache CloudFront bereinigt, während Ihr Ursprungsserver immer noch 5xx-Antworten zurückgibt. Informationen darüber, wie lange Objekte in CloudFront Edge-Caches zwischengespeichert werden, finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf).

So 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.

Das angeforderte Objekt ist nicht im Edge-Cache vorhanden

CloudFront versucht weiterhin, das angeforderte Objekt von Ihrem Ursprung abzurufen, wenn alle der folgenden Bedingungen erfüllt sind:

  • 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:

CloudFront führt Folgendes aus:

  1. CloudFront gibt den Statuscode 4xx oder 5xx an den Viewer zurück und speichert auch Statuscode im Edge-Cache zwischen, der die Anforderung für das Maximum der 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 einen Cache-Control s-maxage-Header angegeben ist, der vom Ursprungsserver zurückgegeben wird, wenn die erste Anfrage den Fehler generiert hat

  2. Für die Dauer der Caching-Zeit (festgelegt in Schritt 1) CloudFront reagiert auf nachfolgende Betrachteranfragen für dasselbe Objekt mit dem zwischengespeicherten 4xx- oder 5xx-Statuscode.

  3. Nach Ablauf der Caching-Zeit (festgelegt in Schritt 1) CloudFront versucht erneut, das angeforderte Objekt abzurufen, indem eine weitere Anfrage an Ihren Ursprung weitergeleitet wird. CloudFront setzt den Wiederholungsversuch in Intervallen fort, die durch die Mindest-TTL für die Zwischenspeicherung von Fehlern angegeben sind.

Das angeforderte Objekt ist im Edge-Cache vorhanden

CloudFront stellt weiterhin das Objekt bereit, das sich derzeit im Edge-Cache befindet, wenn alle der folgenden Bedingungen erfüllt sind:

  • 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 führt Folgendes aus:

  1. Wenn Ihr Ursprung einen 5xx-Fehlercode zurückgibt, CloudFront stellt das Objekt bereit, auch wenn es abgelaufen ist. Während der Mindest-TTL für die Zwischenspeicherung von Fehlern (standardmäßig 10 Sekunden) antwortet CloudFront weiterhin auf Betrachteranfragen, 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.

  2. Nachdem die Mindest-TTL für die Zwischenspeicherung von Fehlern abgelaufen ist, CloudFront versucht erneut, das angeforderte Objekt abzurufen, indem es eine weitere Anfrage an Ihren Ursprung weiterleitet. Beachten Sie, dass, wenn das Objekt nicht häufig angefordert wird, es möglicherweise aus dem Edge-Cache CloudFront bereinigt, während Ihr Ursprungsserver immer noch 5xx-Antworten zurückgibt. Informationen darüber, wie lange Objekte in CloudFront Edge-Caches zwischengespeichert werden, finden Sie unter Verwalten der Dauer, die Inhalte im Cache bleiben (Ablauf).

HTTP-Statuscodes 4xx und 5xx, die CloudFront zwischenspeichert

CloudFront speichert die von Ihrem Ursprung zurückgegebenen HTTP-Statuscodes 4xx und 5xx zwischen, abhängig vom spezifischen Statuscode, der zurückgegeben wird, und davon, ob Ihr Ursprung bestimmte Header in der Antwort zurückgibt.

HTTP-Statuscodes 4xx und 5xx, die CloudFront immer zwischenspeichert

CloudFront speichert immer die folgenden HTTP-Statuscodes 4xx und 5xx zwischen, die von Ihrem Ursprung zurückgegeben werden. Wenn Sie eine benutzerdefinierte Fehlerseite für einen HTTP-Statuscode konfiguriert haben, CloudFront speichert die benutzerdefinierte Fehlerseite zwischen.

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-Statuscodes 4xx, die CloudFront basierend auf Cache-Control Headern zwischenspeichert

CloudFront speichert nur die folgenden HTTP-Statuscodes 4xx zwischen, die von Ihrem Ursprung zurückgegeben werden, wenn Ihr Ursprung einen - Cache-Control max-age oder -Cache-Control s-maxageHeader zurückgibt. Wenn Sie eine benutzerdefinierte Fehlerseite für einen dieser HTTP-Statuscodes konfiguriert haben – und Ihr Ursprung einen der Cache-Control-Header zurückgibt – speichert die benutzerdefinierte Fehlerseite CloudFront zwischen.

400

Inkorrekte Anfrage

403

Forbidden

405

Method Not Allowed

412

Vorbedingung fehlgeschlagen

415

Unsupported Media Type (Nicht unterstützter Medientyp)