Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie entferne oder ändere ich HTTP-Antwort-Header in CloudFront?
Ich möchte HTTP-Antwort-Header wie Server, X-Cache, X-Forwarded-Host oder X-Forwarded-Server aus meiner Amazon CloudFront-Distribution entfernen oder ändern.
Kurzbeschreibung
Wähle basierend auf dem Antwort-Header, den du ändern oder entfernen möchtest, eine der folgenden Lösungen:
- Verwende eine Richtlinie für Antwort-Header, um den Wert eines Headers Server bedingungslos zu ändern oder zu entfernen.
- Verwende eine CloudFront-Funktion, um den Wert eines Headers Server für eine bestimmte Bedingung zu ändern.
- Verwende benutzerdefinierte Header, um einen X-Forwarded-Host- oder X-Forwarded-Server-Header zu entfernen.
- Du kannst den Header X-Cache nicht entfernen oder ändern. Der Header X-Cache muss erhalten bleiben, da er die Quelle des Headers anzeigt, z. B. den CloudFront-Cache, eine Funktion oder einen Ursprung.
Hinweis: CloudFront fügt Antworten, die es an Viewer sendet, seine eigenen Server- und X-Cache-Header hinzu. CloudFront fügt die Header auch dann hinzu, wenn du eine Richtlinie für Antwort-Header verwendest, um die Header aus der ursprünglichen Antwort zu entfernen.
Lösung
Eine Richtlinie für Antwort-Header verwenden, um einen Server-Header zu ändern oder zu entfernen
Gehe wie folgt vor, um einen Header Server zu ändern:
- Öffne die CloudFront-Konsole.
- Wähle im Navigationsbereich Richtlinien und dann die Registerkarte Antwort-Header aus.
- Wähle Richtlinie für Antwort-Header erstellen aus.
- Gib im Abschnitt Details unter Name einen Namen für die Richtlinie ein.
- Wähle im Abschnitt Benutzerdefinierte Header die Option Header hinzufügen.
- Gib als Name Server ein.
- Gib für Wert den Header-Wert Server ein.
- Wähle die Option Ursprung überschreiben für den benutzerdefinierten Header Server aus und wähle dann Erstellen.
- Hänge die Richtlinie für Antwort-Header an das Verhalten an, das du in der CloudFront-Distribution wünschst.
CloudFront stellt die Änderungen bereit und überschreibt dann den Header-Wert Server mit dem benutzerdefinierten Wert, den du in der Richtlinie angegeben hast.
Gehe wie folgt vor, um einen Header Server zu entfernen:
- Öffne die CloudFront-Konsole.
- Wähle im Navigationsbereich Richtlinien und dann die Registerkarte Antwort-Header aus.
- Wähle Richtlinie für Antwort-Header erstellen aus.
- Gib im Abschnitt Details unter Name einen Namen für die Richtlinie ein.
- Wähle im Abschnitt Header entfernen die Option Header hinzufügen.
- Gib als Name Server ein und wähle dann Erstellen.
- Hänge die Richtlinie für Antwort-Header an das Verhalten an, das du in der CloudFront-Distribution wünschst.
CloudFront stellt die Änderungen bereit und ersetzt dann den Header-Wert Server durch den Wert CloudFront.
Eine CloudFront-Funktion verwenden, um den Server-Header für eine bestimmte Bedingung zu ändern
Gehe wie folgt vor, um den Header-Wert Server mit dem benutzerdefinierten Wert für das Verhalten zu überschreiben, das du für eine bestimmte Bedingung angibst:
- Öffne die CloudFront-Konsole.
- Wähle im Navigationsbereich Funktionen und wähle dann Funktion erstellen.
- Gib unter Name einen Namen für die Funktion ein.
- Wähle für Laufzeit cloudfront-js-2.0.
- Wähle Funktion erstellen.
- Gib auf der Registerkarte Entwicklung des Code Editor den folgenden Code ein:
Hinweis: Ersetze YOUR_CONDITIONAL_VALUE durch den bedingten Wert und YOUR_CUSTOM_VALUE durch den Header-Wert Server.function handler(event) { var response = event.response; var headers = response.headers; if ('server' in headers && headers.server.value === 'YOUR_CONDITIONAL_VALUE') { headers.server.value = 'YOUR_CUSTOM_VALUE'; } return response; } - Wähle Änderungen speichern.
- Ordne die Funktion dem Verhalten zu, das du in der CloudFront-Distribution wünschst.
Die CloudFront-Funktion überschreibt den Header Server mit dem benutzerdefinierten Wert für das Verhalten in der spezifischen Bedingung, die du in der Funktion definiert hast.
Verwende benutzerdefinierte Header, um den Header "X-Forwarded-Host" oder "X-Forwarded-Server" zu entfernen
Führe die folgenden Schritte aus:
-
Füge einen Trigger für die Lambda @Edge-Funktion hinzu.
Die folgende Beispielfunktion in Node.js entfernt die Header X-Forwarded-Host und X-Forwarded-Server:export const handler = async (event) => { const response = event.Records[0].cf.response; const headers = response.headers; // Remove X-Forwarded-Host header delete headers['x-forwarded-host']; // Remove X-Forwarded-Server header delete headers['x-forwarded-server']; return response; }; -
Stelle die Lambda @Edge-Funktion bereit und verknüpfe die Funktion dann mit dem Viewer-Anfrage-Trigger der CloudFront-Distribution.
-
Verwende den Trigger, um die angegebenen Header zu entfernen, bevor du Anfragen an den Ursprung weiterleitest.
Ähnliche Informationen
Die Richtlinien für Antwort-Header verstehen
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 10 Monaten
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 9 Monaten
AWS OFFICIALAktualisiert vor 4 Jahren