View a markdown version of this page

Hinzufügen benutzerdefinierter Header zu Ursprungsanforderungen - 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.

Hinzufügen benutzerdefinierter Header zu Ursprungsanforderungen

Sie können so konfigurieren CloudFront , dass den Anfragen, die an Ihren Ursprung gesendet werden, benutzerdefinierte Header hinzugefügt werden. Mit benutzerdefinierten Headern können Sie Informationen aus Ihrem Ursprung senden und erfassen, die Sie mit typischen Viewer-Anforderungen nicht erhalten. Sie können sogar die Header für jeden Ursprung anpassen. CloudFrontunterstützt benutzerdefinierte Header für benutzerdefinierte Ursprünge und Amazon S3 S3-Ursprünge.

Anwendungsfälle

Sie können benutzerdefinierte Header wie in den folgenden Beispielen verwenden:

Identifizieren von Anfragen von CloudFront

Sie können die Anfragen identifizieren, von denen Ihr Absender empfängt CloudFront. Das kann nützlich sein, wenn du wissen möchtest, ob Nutzer sie umgehen CloudFront, oder wenn du mehr als ein CDN verwendest und Informationen darüber haben möchtest, welche Anfragen von jedem CDN kommen.

Anmerkung

Wenn Sie einen Amazon S3-Ursprung verwenden und die Protokollierung des Zugriffs auf Amazon S3 aktivieren, enthalten die Protokolle keine Header-Informationen.

Bestimmen, welche Anforderungen von einer bestimmten Verteilung stammen

Wenn Sie mehrere CloudFront Distributionen so konfigurieren, dass sie denselben Ursprung verwenden, können Sie jeder Verteilung unterschiedliche benutzerdefinierte Header hinzufügen. Anschließend können Sie mit den Protokollen Ihres Ursprungs bestimmen, welche Anforderungen aus welcher CloudFront-Verteilung stammen.

Cross-Origin Resource Sharing (CORS) aktivieren

Falls einige Ihrer Zuschauer Cross-Origin Resource Sharing (CORS) nicht unterstützen, können Sie so konfigurieren, dass der Origin Header immer CloudFront zu Anfragen hinzugefügt wird, die an Ihren Absender gesendet werden. Dann können Sie Ihren Ursprung so konfigurieren, dass der Access-Control-Allow-Origin-Header für jede Anforderung zurückgegeben wird. Sie müssen auch CloudFront so konfigurieren, dass die CORS-Einstellungen eingehalten werden.

Steuern des Zugriffs auf Inhalt

Mit benutzerdefinierten Header können Sie den Zugriff auf Inhalte steuern. Indem du deinen Absender so konfigurierst, dass er nur dann auf Anfragen reagiert, wenn sie einen benutzerdefinierten Header enthalten, der von hinzugefügt wird CloudFront, verhinderst du, dass Nutzer deine Inhalte umgehen CloudFront und direkt am Ursprung darauf zugreifen. Weitere Informationen finden Sie unter Beschränken des Zugriffs auf Dateien auf benutzerdefinierten Ursprungsservern.

Konfiguriere CloudFront es so, dass benutzerdefinierte Header zu ursprünglichen Anfragen hinzugefügt werden

Um eine Verteilung so zu konfigurieren, dass benutzerdefinierte Header Anforderungen hinzugefügt werden, die er an Ihren Ursprung sendet, aktualisieren Sie die Ursprungskonfiguration mit einer der folgenden Methoden:

  • CloudFront Konsole — Wenn Sie eine Verteilung erstellen oder aktualisieren, geben Sie Header-Namen und -Werte in den Einstellungen Benutzerdefinierte Header hinzufügen an. Weitere Informationen finden Sie unter Benutzerdefinierten Header hinzufügen.

  • CloudFront API — Geben Sie für jeden Ursprung, dem Sie benutzerdefinierte Header hinzufügen möchten, die Header-Namen und Werte im CustomHeaders Feld darin an. Origin Weitere Informationen finden Sie unter CreateDistributionoder UpdateDistributionin der Amazon CloudFront API-Referenz.

Wenn die von Ihnen angegebenen Header-Namen und Werte nicht bereits in der Viewer-Anfrage vorhanden sind, CloudFront fügt sie der ursprünglichen Anfrage hinzu. Wenn ein Header vorhanden ist, wird der Header-Wert CloudFront überschrieben, bevor die Anfrage an den Ursprung weitergeleitet wird.

Informationen zu den Kontingenten für benutzerdefinierte Ursprungsheader finden Sie unter Kontingente für Header.

Benutzerdefinierte Header, die nicht zu CloudFront ursprünglichen Anfragen hinzugefügt werden können

Sie können nicht so konfigurieren CloudFront , dass Anfragen, die an Ihren Absender gesendet werden, irgendwelche der folgenden Header hinzugefügt werden:

  • Cache-Control

  • Connection

  • Content-Length

  • Cookie

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Pragma

  • Proxy-Authenticate

  • Proxy-Authorization

  • Proxy-Connection

  • Range

  • Request-Range

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

  • Via

  • Header, die mit X-Amz- beginnen

  • Header, die mit X-Edge- beginnen

  • X-Real-Ip

So konfigurieren CloudFront , dass der Header weitergeleitet wird Authorization

Wenn Sie CloudFront eine Viewer-Anfrage an Ihren Ursprung weiterleiten, CloudFront werden standardmäßig einige Viewer-Header entfernt, einschließlich des Authorization Headers. Um sicherzustellen, dass Ihr Ursprung immer den Authorization-Header in Ursprungsanforderungen erhält, haben Sie folgende Möglichkeiten:

Wichtig

Wenn Sie den Authorization Header an Ihren Ursprung weiterleiten, ohne ihn in den Cache-Schlüssel aufzunehmen, stellen Sie sicher, dass Ihr Ursprung für die Zugriffskontrolle auf zwischengespeicherte Inhalte nicht auf den Authorization Header angewiesen ist. Wenn der Authorization Header nicht Teil des Cache-Schlüssels ist, CloudFront kann dieselbe zwischengespeicherte Antwort sowohl für autorisierte als auch für nicht autorisierte Zuschauer bereitgestellt werden. Nehmen Sie entweder den Authorization Header mithilfe einer Cache-Richtlinie in den Cache-Schlüssel auf oder deaktivieren Sie das Caching vollständig für Ursprünge, die eine ursprungseitige Autorisierungsverarbeitung erfordern.