Aktualisieren von HTTP-Antworten in Ursprungsantwortauslösern
Wenn CloudFront eine HTTP-Antwort vom Ursprungs-Server empfängt, können Sie die HTTP-Antwort modifizieren, um die Rückgabe vom Ursprung zu überschreiben, wenn es einen Auslöser für die Ursprungsantwort gibt, der mit dem Zwischenspeicher-Verhalten verknüpft ist.
Einige häufige Szenarien für die Aktualisierung von HTTP-Antworten sind die folgenden:
-
Ändern des Status, um einen HTTP 200-Statuscode festzulegen, und Erstellen statischer Body-Inhalte für die Rückgabe an den Viewer, wenn ein Ursprung einen Fehlerstatuscode (4xx oder 5xx) zurückgibt. Einen Beispiel-Code finden Sie unter Beispiel: Mithilfe eines Ursprungsantwortauslösers den Fehlerstatuscode auf „200“ aktualisiert..
-
Ändern des Status, um einen HTTP 301- oder HTTP 302-Statuscode festzulegen, um den Benutzer auf eine andere Website umzuleiten, wenn ein Ursprung einen Fehlerstatuscode zurückgibt (4xx oder 5xx). Einen Beispiel-Code finden Sie unter Beispiel: Mithilfe eines Ursprungsantwortauslösers den Fehlerstatuscode auf „302“ aktualisiert..
Anmerkung
Die Funktion muss einen Statuswert zwischen 200
und 599
(jeweils einschließlich) zurückgeben, andernfalls gibt CloudFront einen Fehler an den Viewer zurück.
Sie können auch die HTTP-Antworten in Viewer- und Ursprungsanfrageereignissen ersetzen. Weitere Informationen finden Sie unter Generieren von HTTP-Antworten in Anforderungsauslösern.
Wenn Sie mit der HTTP-Antwort arbeiten, stellt Lambda@Edge den Textkörper, der vom Ursprungsserver zurückgegeben wird, nicht für den Ursprungsantwortauslöser bereit. Sie können einen statischen Inhaltstext erzeugen, indem Sie ihn auf den gewünschten Wert setzen, oder den Text innerhalb der Funktion entfernen, indem Sie den Wert auf leer setzen. Wenn Sie das Textkörperfeld in Ihrer Funktion nicht aktualisieren, wird der ursprüngliche Textkörper, der vom Ursprungsserver zurückgegeben wird, an den Viewer zurückgegeben.