Erzwingen der Verwendung von HTTPS für die Kommunikation zwischen Viewern und CloudFront
Sie können in Ihrer CloudFront-Verteilung eine oder mehrere Zwischenspeicher-Verhaltensweisen so konfigurieren, dass die Verwendung von HTTPS für die Kommunikation zwischen Betrachtern und CloudFront erzwungen wird. Sie können eine oder mehre Zwischenspeicher-Verhaltensweisen sogar dahingehend konfigurieren, dass gleichzeitig HTTP und HTTPS zugelassen werden, sodass CloudFront für einige Objekte HTTPS erzwingt, für andere aber nicht. Die Konfigurationsschritte variieren je nachdem, welchen Domänennamen Sie in Objekt-URLs verwenden:
-
Wenn Sie den Domänennamen verwenden, der von CloudFront Ihrer Verteilung zugewiesen wurde, beispielsweise d111111abcdef8.cloudfront.net, erzwingen Sie die Verwendung der HTTPS-Kommunikation durch entsprechende Änderung der Einstellung der Viewer Protocol Policy (Betrachter-Protokollrichtlinie)-Einstellung für eine oder mehrere Zwischenspeicher-Verhaltensweisen. In dieser Konfiguration stellt CloudFront das SSL-/TLS-Zertifikat bereit.
Details zur Vorgehensweise beim Ändern des Werts von Viewer Protocol Policy (Betrachter-Protokollrichtlinie) mithilfe der CloudFront-Konsole finden Sie in der Anleitung weiter unten in diesem Abschnitt.
Informationen dazu, wie Sie die CloudFront-API verwenden, um den Wert des
ViewerProtocolPolicy
-Elements zu ändern, finden Sie unter UpdateDistribution in der Amazon CloudFront-API-Referenz. -
Wenn Sie einen eigenen Domänennamen, z. B. example.com, verwenden, müssen Sie mehrere CloudFront-Einstellungen ändern. Zudem benötigen Sie ein SSL-/TLS-Zertifikat, das entweder von AWS Certificate Manager (ACM) bereitgestellt wird oder das Sie erhalten, indem Sie es von einer Drittanbieter-Zertifizierungsstelle beziehen und in ACM oder den IAM-Zertifikatspeicher importieren. Weitere Informationen finden Sie unter Verwenden alternativer Domänennamen in Verbindung mit HTTPS.
Anmerkung
Wenn Sie sicherstellen möchten, dass die Objekte, die Betrachter von Cloud Front empfangen, verschlüsselt waren, als CloudFront sie von Ihrem Ursprung erhielt, sollten Sie für die Kommunikation zwischen Cloud Front und Ihrem Ursprung immer HTTPS verwenden. Falls Sie vor kurzem die Kommunikation zwischen CloudFront und dem Ursprung von HTTP auf HTTPS umgestellt haben, sollten Sie die Gültigkeit von Objekten an CloudFront-Edge-Standorten aufheben. CloudFront sendet ein Objekt an einen Betrachter unabhängig davon, ob das vom Betrachter verwendete Protokoll (HTTP oder HTTPS) mit dem Protokoll übereinstimmt, das von CloudFront zum Abrufen des Objekts verwendet wurde. Weitere Informationen zum Entfernen oder Ersetzen von Objekten in einer Verteilung finden Sie unter Hinzufügen, Entfernen oder Ersetzen von Inhalten, die von CloudFront verteilt werden.
Um die Verwendung von HTTPS zwischen Betrachtern und CloudFront für eine oder mehrere Zwischenspeicher-Verhaltensweisen zu erzwingen, führen Sie die folgenden Schritte durch.
So konfigurieren Sie CloudFront so, dass HTTPS zwischen Betrachtern und CloudFront erforderlich ist:
Melden Sie sich bei der AWS Management Console an und öffnen Sie die CloudFront-Konsole unter https://console.aws.amazon.com/cloudfront/v3/home
. -
Wählen Sie im oberen Bereich der CloudFront-Konsole die ID der Verteilung aus, die Sie aktualisieren möchten.
-
Wählen Sie auf der Registerkarte Behaviors das zu aktualisierende Cache-Verhalten und anschließend Edit aus.
-
Geben Sie einen der folgenden Werte für Viewer Protocol Policy an:
- Redirect HTTP to HTTPS
-
Viewer können beide Protokolle verwenden. HTTP-
GET
und -HEAD
-Anforderungen werden automatisch an HTTPS umgeleitet. CloudFront gibt den HTTP-Statuscode 301 (Moved Permanently) zusammen mit der neuen HTTPS-URL zurück. Der Viewer übermittelt dann erneut die Anforderung an CloudFront über die HTTPS-URL.Wichtig
Wenn Sie
POST
-,PUT
-,DELETE
-,OPTIONS
- oderPATCH
-Anforderungen unter Verwendung der Zwischenspeicher-Verhaltenseinstellung HTTP zu HTTPS und des HTTP-Anforderungsprotokolls in der Version 1.1 oder neuer senden, wird die Anforderung von CloudFront mit dem HTTP-Statuscode 307 (Temporary Redirect) an einen HTTPS-Standort umgeleitet. Dies gewährleistet, dass die Anforderung erneut unter Verwendung derselben Methode und derselben Nutzdaten an den neuen Speicherort gesendet wird.Wenn Sie
POST
-,PUT
-,DELETE
-,OPTIONS
- oderPATCH
-Anforderungen unter Verwendung der Cache-Verhaltenseinstellung HTTP zu HTTPS und des HTTP-Anforderungsprotokolls in einer älteren Version als 1.1 senden, gibt CloudFront den HTTP-Statuscode 403 (Forbidden) zurück.Wenn ein Viewer eine HTTP-Anforderung ausgibt, die an eine HTTPS-Adresse umgeleitet wird, berechnet CloudFront Gebühren für beide Anforderungen. Die Gebühren für die HTTP-Anforderung beziehen sich nur auf die Anforderung und die Header, die von CloudFront an den Viewer zurückgegeben werden. Bezüglich der HTTPS-Anforderung fallen Gebühren für die Anforderung sowie für die vom Ursprung zurückgegebenen Header und das Objekt an, das vom Ursprung zurückgegeben wird.
- HTTPS Only
-
Viewer können auf Ihre Inhalte nur zugreifen, wenn sie HTTPS verwenden. Wenn ein Betrachter eine HTTP-Anforderung statt einer HTTPS-Anforderung sendet, gibt CloudFront nur den HTTP-Statuscode 403 (Forbidden) zurück, ohne das Objekt zurückzugeben.
-
Wählen Sie Yes, Edit aus.
-
Wiederholen Sie Schritt 3 bis 5 für jedes weitere Zwischenspeicher-Verhalten, das die Verwendung von HTTPS für die Kommunikation zwischen Betrachtern und CloudFront erzwingen soll.
-
Vergewissern Sie sich, dass folgende Punkte erfüllt sind, bevor Sie die aktualisierte Konfiguration in einer Produktionsumgebung verwenden:
-
Das Pfadmuster eines jeden Cache-Verhaltens wird nur auf die Anforderungen angewendet, für die die Viewer HTTPS verwenden sollen.
-
Die Zwischenspeicher-Verhaltensweisen sind in der Reihenfolge aufgeführt, in der sie von CloudFront ausgewertet werden sollen. Weitere Informationen finden Sie unter Pfadmuster.
-
Die Cache-Verhaltensweisen leiten Anforderungen an die richtigen Ursprünge weiter.
-