2015-02-13 5 views
8

Ich habe einen Load Balancer in einer ec2-Classic-Instanz. Ich habe überprüft, dass der Lastenausgleich ordnungsgemäß funktioniert, indem ich direkt auf den DNS-Namen-Wert verlinke, der auf der Registerkarte Beschreibung für meinen Lastenausgleich aufgeführt ist. Dies gibt mir die Hauptseite der Webseite, die auf der EC2-Instanz liegt. So funktioniert mein Load Balancer. Mein Load Balancer und meine EC2-Instanz befinden sich in der gleichen Verfügbarkeitszone.https kann nicht mit Elastic Load Balancer (AWS) arbeiten

Mein Load Balancer hat ein SSL-Zertifikat eingerichtet, und ich habe zwei Listener eingerichtet, HTTP (Port 80) und HTTPS (Port 443) an Instance Port 80 als http weiterzuleiten. Meine EC2-Instanz verfügt über eine Sicherheitsgruppe, die HTTP und HTTPS mit Protokoll TCP an den Ports 80 bzw. 443 akzeptiert. Obwohl mein Verständnis ist, dass nur der Port 80 nützlich wäre, oder? Die Daten für das Zertifikat sind im PEM-Format. Ich habe meiner Instanz-Sicherheitsgruppe ein benutzerdefiniertes TCP im Portbereich 0 - 65535 für amazon-elb/amazon-elb-sg hinzugefügt. Das hat nichts getan.

Ich kann meine Website mit http nur gut zugreifen. Wenn ich versuche, über https zuzugreifen, erhalte ich den Fehlercode: ERR_CONNECTION_REFUSED in Chrome und Kann mich nicht in Firefox verbinden.

Ich habe ähnliche Beiträge für diese Frage überprüft und nichts scheint zu helfen.

Jede Hilfe oder Ideen würde sehr geschätzt werden. Danke

+0

Haben Sie das jemals herausgefunden? Ich habe genau das gleiche Problem. – NathanW

Antwort

-1

In Ihrer Beschreibung sehe ich, dass Sie möglicherweise nicht folgen Schritt 6 von Amazon "Elastic Load Balancing in Amazon EC2-Classic - Erstellen Sie HTTPS/SSL Load Balancer Verwenden der AWS Management Console -> Configure Listeners" Leitfaden.

Dort heißt es, dass Sie "HTTPS (...) im Load Balancer Protocol [und] HTTPS (Secure HTTP) (...) im Feld Instance Protocol konfigurieren sollen.", Während Sie in Ihrer Konfiguration leiten ELBs 443 zu Port 80 in der Instanz weiter.

Für weitere Referenz ist dies die Anleitung, die ich spreche http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/configure-https-listener.html

Überprüfen Sie auch, ob das SSL-Zertifikat auch nach hier angegebenen Regeln gebaut: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html

+1

Ich glaube, Ihr Handbuch ist für die Back-End-Authentifizierung. Ich versuche, die SSL-Authentifizierung im Load Balancer stattfinden zu lassen. Mein Verständnis ist, dass es dann mit der Instanz über HTTP auf Port 80 kommuniziert, richtig? – cafman

+0

Nein, HTTPS-Verkehr, der am LB empfangen wurde, wird als HTTPS an die Instanz gesendet. Sie können also nicht auf Port 80 zeigen, den Sie auf 443 eingestellt haben, wie der Guide sagt. Versuchen Sie etwas Performance-Tuning zu erreichen? Die SSL-Validierung findet weiterhin am LB statt. –

+0

Konnten Sie den ELB mit HTTPS einstellen? –

7

Haben Sie sichergestellt, dass der ELB ist in einer Sicherheitsgruppe, die https auf Port 443 ermöglicht?

+0

Die Dokumentation, die ich finden kann, erwähnt, wie man das für EC2 in VPC behandelt. Ich bin nicht sicher, wie Sie die Details der Quellsicherheitsgruppe für einen Lastenausgleich in EC2-Classic überprüfen (oder bearbeiten). In der Registerkarte meines Load Balancers steht "Source Security Group amazon-elb/amazon-elb-sg". Die einzigen Sicherheitsgruppen, die ich bearbeiten/lesen kann, sind die Sicherheitsgruppen für Instanzen. – cafman

+1

@bytesandwich Danke Kumpel, ich hatte nur Port 80 auf den eingehenden Regeln auf dem Load Balancer. Habe dieses bisschen total vermisst. Hinzugefügt 443 und alles funktioniert gut. Load balanacer akzeptiert 443 und spricht mit den Instanzen auf Port 80. Ich glaube, das war auch die ursprüngliche Frage. – MrVentzi

Verwandte Themen