Ich hoste eine Website auf einer EC2 Instance. Wie erlaube ich meinen Benutzern, sich über HTTP (80) oder HTTPS (443) zu verbinden?

Lesedauer: 5 Minute
0

Ich hoste meine Website auf einer Amazon Elastic Compute Cloud (Amazon EC2) Instance. Ich möchte, dass Benutzer über HTTP (Port 80) oder HTTPS (Port 443) eine Verbindung zu meiner Website herstellen.

Behebung

Um den Datenverkehr auf den Ports 80 und 443 zuzulassen, müssen Sie die zugehörige Sicherheitsgruppe und die Netzwerk-Zugriffssteuerungsliste (Netzwerk-ACL) konfigurieren.

Regeln für Sicherheitsgruppen

Fügen Sie für HTTP-Verkehr eine Regel für eingehenden Datenverkehr auf Port 80 von der Quelladresse 0.0.0.0/0 hinzu.

Fügen Sie für HTTPS-Verkehr eine Regel für eingehenden Datenverkehr auf Port 443 von der Quelladresse 0.0.0.0/0 hinzu.

Diese Regeln für eingehenden Datenverkehr lassen den Datenverkehr von IPv4-Adressen zu. Um IPv6-Verkehr zuzulassen, fügen Sie eingehende Regeln für dieselben Ports von der Quelladresse: :/0 aus hinzu. Weitere Informationen zum Erstellen oder Ändern von Sicherheitsgruppen finden Sie unter Steuern des Datenverkehrs zu Ressourcen mithilfe von Sicherheitsgruppen.

Sicherheitsgruppen sind zustandsbehaftet, sodass der Rückverkehr von der Instance zu Benutzern automatisch zugelassen wird. Sie müssen die Regeln der Sicherheitsgruppe für ausgehenden Datenverkehr nicht ändern.

Hinweis: Das folgende Beispiel zeigt die Sicherheitsgruppenregeln für das Zulassen von IPv4- und IPv6-Verkehr auf TCP Port 80 (HTTP) und 443 (HTTPS). Stellen Sie fest, ob andere Datenverkehrsquellen, wie SSH oder RDP für die Anmeldung bei der Instance, für Ihren Anwendungsfall zugelassen werden müssen. Stellen Sie dann sicher, dass Ihre SG über die entsprechenden Regeln für eingehenden Verkehr verfügt, um den erforderlichen Verkehr zuzulassen.

Regeln für eingehenden Datenverkehr

TypProtokollPort-BereichQuelle
HTTP (80)TCP (6)800.0.0.0/0
HTTP (80)TCP (6)80::/0
HTTPS (443)TCP (6)4430.0.0.0/0
HTTPS (443)TCP (6)443::/0

Netzwerk-ACL

Die Standard-Netzwerk-ACL lässt den gesamten eingehenden und ausgehenden IPv4-Verkehr zu. Wenn Ihre Benutzer eine Verbindung über IPv6 herstellen und Ihrer Amazon Virtual Private Cloud (Amazon VPC) ein IPv6-CIDR-Block zugeordnet ist, fügt Ihre Standard-Netzwerk-ACL auch automatisch Regeln hinzu, die den gesamten eingehenden und ausgehenden IPv6-Verkehr zulassen. Wenn Sie jedoch eine benutzerdefinierte Netzwerk-ACL mit restriktiveren Regeln verwenden, müssen Sie den Verkehr auf Port 80 und 443 explizit zulassen.

Netzwerk-ACLs sind zustandslos, daher müssen Sie sowohl eingehende als auch ausgehende Regeln hinzufügen, um die Verbindung zu Ihrer Website zu ermöglichen. Weitere Informationen zum Ändern von Netzwerk-ACL-Regeln finden Sie unter Steuern des Datenverkehrs zu Subnetzen mithilfe von Netzwerk-ACLs.

Hinweis: Das folgende Beispiel zeigt eine benutzerdefinierte Netzwerk-ACL, die Datenverkehr auf TCP Port 80 (HTTP) und 443 (HTTPS) zulässt. Netzwerk-ACLs werden auf alle Ressourcen in einem gesamten Subnetz angewendet, nicht nur auf eine einzelne EC2 Instance. In der Beispielkonfiguration wird der gesamte Verkehr zu und von Ressourcen im selben Subnetz blockiert, außer an den Ziel-Ports 80 und 443. Stellen Sie fest, ob andere Datenverkehrsquellen, wie SSH oder RDP für die Anmeldung bei der Instance, für Ihren Anwendungsfall zugelassen werden müssen. Stellen Sie dann sicher, dass Sie über die entsprechenden Regeln für eingehenden Verkehr verfügen, um den erforderlichen Datenverkehr zuzulassen.

Regeln für eingehenden Datenverkehr

Regel Nr.TypProtokollPort-BereichQuelleErlauben/Verweigern
100HTTP (80)TCP (6)800.0.0.0/0ERLAUBEN
101HTTPS (443)TCP (6)4430.0.0.0/0ERLAUBEN
102HTTP (80)TCP (6)80::/0ERLAUBEN
103HTTPS (443)TCP (6)443::/0ERLAUBEN
*GESAMTER VerkehrALLEALLE::/0VERWEIGERN
*GESAMTER VerkehrALLEALLE0.0.0.0/0VERWEIGERN

Regeln für ausgehenden Datenverkehr

Regel Nr.TypProtokollPort-BereichZielErlauben/Verweigern
100Benutzerdefinierte TCP-RegelTCP (6)1024-655350.0.0.0/0ERLAUBEN
101Benutzerdefinierte TCP-RegelTCP (6)1024-65535::/0ERLAUBEN
*GESAMTER VerkehrALLEALLE::/0VERWEIGERN
*GESAMTER VerkehrALLEALLE0.0.0.0/0VERWEIGERN

Problembehandlung bei einem Verbindungsverweigerungsfehler

Ein Fehler Verbindung verweigert bedeutet, dass die Verbindungsanforderung an die Instance weitergeleitet wird, aber nicht vom Dienst auf dem angegebenen Port empfangen wird. Wenn Host A eine TCP-Verbindung zu Host B initiiert und den Fehler Verbindung verweigert erhält, bedeutet dieser Fehler Folgendes:

  • Zuerst sendete Host A ein TCP-SYN-Paket an Host B.
  • Dann sendete Host B ein TCP-RST-Paket als Antwort an Host A.

Wenn dieser Fehler auftritt, auch wenn Sie TCP Port 80 und 443 in der Sicherheitsgruppe und der Netzwerk-ACL zugelassen haben, beheben Sie Folgendes:

  • Der Service-Daemon, wie httpd (Apache), läuft nicht oder ist gestoppt.

Überprüfen Sie zur Problembehandlung, ob sich der Dienst in der EC2 Instance im Status Aktiv befindet.

  • Der Dienst überwacht den falschen Port.

Überprüfen Sie zur Fehlerbehebung, ob die EC2 Instance den erforderlichen TCP Port (80/443) überwacht.

  • Der Port ist durch eine Firewall blockiert.

Überprüfen Sie zur Problembehandlung, ob eine Firewall auf Betriebssystemebene in der EC2 Instance eingehenden TCP-Verkehr auf dem erforderlichen Port blockiert.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren