0

Ich versuche, HTTPS zu meinem AWS Elastic Load Balancer hinzuzufügen.Wie aktiviert man HTTPS auf AWS Elastic Load Balancer?

erhielt ich ein Zertifikat über AWS Certificate Manager: enter image description here

ich auf der Load-Balancer aktiviert haben HTTPS: enter image description here

ich sicher, dass für die Load-Balancer die Sicherheitsgruppe aus nimmt 0.0.0.0/0 auf 443: enter image description here

Wenn ich zu meiner Domäne auf HTTP gehe, funktioniert es.

jedoch bei dem Versuch, meine Domain mit HTTPS zu laden, funktioniert es nicht ("ERR_CONNECTION_TIMED_OUT")


EDIT und UPDATE:

Es ist die API, die ich zu bekommen bin versucht, HTTPS Arbeiten für, nicht unbedingt die Domäne. Die Domäne serve ist eine statische Datei (eckige Webanwendung) von S3, und es ist eckig, die den Lastenausgleich (um die Anforderung an eine EC2-Instanz zu übertragen) für DB-Daten aufruft.

Wenn angular die API direkt über den Load Balancer-Domänennamen über HTTP aufruft, reagiert die Anfrage wie erwartet.

Wenn Winkel die gleiche API-Aufruf über HTTPS macht, erhalte ich die folgende Fehlermeldung:

enter image description here

+1

Alles sieht korrekt aus. Sind Sie sicher, dass Ihre Domain auf den Load Balancer und nicht direkt auf die Instanz verweist? –

+0

@MarkB Danke Mark B, das ist eine gute Überlegung ... Ich bin mir nicht sicher! Lassen Sie mich das überprüfen! – aero

+0

@MarkB Danke Mark B, ich habe meine Frage mit weiteren Informationen aktualisiert. Das angular js ruft den Domainnamen des Lastenausgleichs direkt in seinen API-Anforderungen auf - und scheitert, wenn es über HTTPS läuft. – aero

Antwort

1

Sie HTTPS aktiviert für Ihren Domain-Namen, nicht die ELB-Domäne, die Amazon besitzt. Sie können nur SSL-Zertifikate für Domänen erstellen, die Sie besitzen. Sie können SSL nicht für "mydomain.com" aktivieren und dann darauf verzichten, auf einer anderen Domäne zu arbeiten. Sie müssen Ihren AngularJS-Code ändern, um auf die API anhand Ihres benutzerdefinierten Domänennamens zu verweisen, für den Sie ein SSL-Zertifikat erstellt haben. Sie müssen die Domäne auf den ELB verweisen und das SSL-Zertifikat für die Domäne auf dem ELB installieren.

+0

Ha, ich nehme an, das ist ziemlich offensichtlich. Danke, dass du mir geholfen hast, den Wald zu sehen (für die Bäume). – aero

0

Mark B lieferte die fast vollständige Lösung.

Da mein JavaScript-Code den Elastic Load Balancer (ELB) über seinen von AWS bereitgestellten DNS-Namen aufruft, kann ich kein SSL-Zertifikat für die Domain erhalten, die ich nicht besitze.

Wie Mark B darauf hingewiesen hat, muss ich meinen Javascript-Code auf die Domäne verweisen, die ich besitze, und habe ein SSL-Zertifikat für.

So kann ich eine Subdomäne (z. B. api.mydomain.com) der Domäne, die ich besitze, die dann auf die ELB verweist.

Ein A-Record (z. B. Domain zeigt auf eine IP) sieht aus wie es könnte die Notwendigkeit passen.

Ein A-Eintrag kann jedoch nicht auf den ELB zeigen, da sich die IP-Adresse ändern kann.

Der fehlende Schritt bestand darin, AWS Route 53 zu verwenden, um den A-Datensatz auf einen Alias ​​zu verweisen (Route 53 ermöglicht dies), der meinen AWS Elastic Load Balancer darstellt.

Verwandte Themen