Konfigurieren von HTTPS für Elastic Beanstalk-Umgebung - AWS Elastic Beanstalk

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.

Konfigurieren von HTTPS für Elastic Beanstalk-Umgebung

Wenn Sie einen benutzerdefinierten Domänennamen für Ihre Elastic Beanstalk-Umgebung gekauft und konfiguriert haben, können Sie HTTPS verwenden, damit die Benutzer eine sichere Verbindung mit Ihrer Website herstellen können. Wenn Sie nicht über einen Domänennamen verfügen, können Sie HTTPS trotzdem mit einem selbstsignierten Zertifikat für Entwicklungs- und Testzwecke verwenden. HTTPS ist ein Muss für jede Anwendung, die Benutzerdaten oder Anmeldeinformationen überträgt.

Die einfachste Möglichkeit für die Verwendung von HTTPS mit einer Elastic Beanstalk-Umgebung ist, ein Serverzertifikat zum Load Balancer Ihrer Umgebung zuzuweisen. Wenn Sie Ihren Load Balancer so konfigurieren, dass er HTTPS beendet, ist die Verbindung zwischen dem Client und dem Load Balancer sicher. Backend-Verbindungen zwischen dem Load Balancer und EC2-Instances verwenden HTTP, sodass keine zusätzliche Konfiguration der Instances erforderlich ist.

Anmerkung

Mit AWS Certificate Manager (ACM) können Sie kostenlos ein vertrauenswürdiges Zertifikat für Ihre Domänennamen erstellen. ACM-Zertifikate können nur mit AWS-Load Balancer verwendet werden, und Amazon CloudFront-Verteilungen und ACM stehen nur in bestimmten AWS Regionen zur Verfügung.

Informationen zur Verwendung eines ACM-Zertifikats mit Elastic Beanstalk finden Sie unter Load Balancer Ihrer Elastic Beanstalk-Umgebung zum Terminieren von HTTPS konfigurieren.

Wenn Sie Ihre Anwendung in einer Umgebung mit einer einzelnen Instance ausführen oder die Verbindung bis zu den EC2-Instances hinter dem Load Balancer sichern müssen, können Sie den Proxyserver, der auf der Instance ausgeführt wird, so konfigurieren, dass HTTPS beendet wird. Das Konfigurieren Ihrer Instances für das Beenden von HTTPS-Verbindungen erfordert die Nutzung von Konfigurationsdateien zum Ändern der Software, die auf den Instances ausgeführt wird, und die Änderung von Sicherheitsgruppen, um sichere Verbindungen zuzulassen.

Für End-to-End-HTTPS in einer Umgebung mit Lastausgleich können Sie das Beenden von Instance und Load Balancer-Beendigung kombinieren, um beide Verbindungen zu verschlüsseln. Wenn Sie den Load Balancer so konfigurieren, dass er Datenverkehr mithilfe von HTTPS weiterleitet, wird standardmäßig jedem Zertifikat vertraut, das ihm von den Backend-Instances vorgelegt wird. Zur Maximierung der Sicherheit können Sie Richtlinien an den Load Balancer anfügen, die verhindern, dass eine Verbindung mit Instances hergestellt wird, die kein öffentliches Zertifikat darstellen, dem er vertraut.

Anmerkung

Sie können den Load Balancer auch so konfigurieren, dass er HTTPS-Datenverkehr ohne Entschlüsselung weiterleitet. Der Nachteil dieser Methode besteht darin, dass der Load Balancer die Anfragen nicht sehen und so das Routing nicht optimieren oder Antwortmetriken melden kann.

Wenn ACM in Ihrer Region nicht verfügbar ist, können Sie ein vertrauenswürdiges Zertifikat von einem Drittanbieter kaufen. Ein Drittanbieter-Zertifikat kann verwendet werden, um HTTPS-Datenverkehr auf Ihrem Load Balancer, auf den Backend-Instances oder beiden zu entschlüsseln.

Für die Entwicklung und das Testen können Sie selbst ein Zertifikat erstellen und signieren. Verwenden Sie dazu Open Source-Tools. Selbstsignierte Zertifikate können kostenlos und einfach erstellt werden, sie können aber nicht für die Front-End-Entschlüsselung auf öffentlichen Websites verwendet werden. Wenn Sie versuchen, ein selbstsigniertes Zertifikat für eine HTTPS-Verbindung mit einem Client zu verwenden, zeigt der Browser des Benutzers eine Fehlermeldung an, die darauf hinweist, dass Ihre Website nicht sicher ist. Sie können jedoch ein selbstsigniertes Zertifikat verwenden, um Backend-Verbindungen ohne Probleme zu sichern.

Wir empfehlen ACM als bevorzugtes Tool, wenn Sie Ihre Server-Zertifikate programmgesteuert oder mit AWS CLI bereitstellen und verwalten. Wenn ACM in Ihrer AWS-Region nicht verfügbar ist, können Sie das Zertifikat eines Drittanbieters oder ein selbstsigniertes Zertifikat und einen privaten Schlüssel zu AWS Identity and Access Management(-(IAM) hochladen mithilfe der AWS CLI. Zertifikate, die in IAM gespeichert sind, können nur mit Load Balancer und CloudFront-Verteilungen verwendet werden.

Anmerkung

Die Beispielanwendung Does it have Snakes? auf GitHub umfasst Konfigurationsdateien und Anweisungen für jede einzelne Methode der Konfiguration von HTTPS mit einer Tomcat-Webanwendung. Weitere Informationen dazu finden Sie in der Readme-Datei und den HTTPS-Anweisungen.