2016-04-12 9 views
0

Meine Website wird mit Firebase Hosting gehostet, und ich möchte einen HTTP-Post an einen NodeJS-Prozess senden, der auf einer AWS EC2-Instanz ausgeführt wird.SSL-Domäne stimmt nicht mit ec2 überein DNS-Name

Zuerst fehlgeschlagen: EC2 war http, hatte ich einen Fehler von gemischten Inhalten (https und http).

Als nächstes habe ich in einem Lastenausgleich in-Vorderseite der EC2-Instanz, und mein Domain-Zertifikat installiert (www.mydomain.com) Zweites fehlschlagen: ich eine ERR_INSECURE_RESPONSE Fehlermeldung erhalten, wie loadbalancer.amazonaws.com tut nicht übereinstimmen www.mydomain.com

Ich bin am Ende des Wortes in der Auflösung, was ich denke, ist ein geradliniger Anwendungsfall. Bitte helfen Sie.

+0

Wenn Sie ein ssl-Zertifikat für 'api.example.com' haben, müssen Sie ** diesen Hostnamen ** verwenden, wenn Sie auf den Computer zugreifen, auf dem das Zertifikat installiert ist. Die Verwendung eines anderen Hostnamens funktioniert natürlich nicht. Ja, es ist ziemlich einfach. –

+0

Danke @ Michael-sqlbot - Das hat geholfen. – Nat

Antwort

1

Zwei Optionen.

Sie müssen Ihre Domain bei Amazon registrieren, damit Sie eine Hosted Zone in AWS Route53 erstellen können. Dort können Sie einen Datensatz erstellen, um "mydomain.com" auf Ihren Load Balancer zu verweisen.

Die andere Option ist mit Ihrem aktuellen Register (GoDaddy oder jemand anderes), um Ihre Domain an Ihren Load Balancer weiterzuleiten. Sie müssen wahrscheinlich "Weiterleitung mit Maskierung" aktivieren, damit es immer noch wie Ihre Domäne aussieht, aber vom AWS-Lastenausgleich bedient wird.

Lassen Sie mich wissen, was funktioniert (oder nicht), und ich werde diese Antwort aktualisieren.

1

Sie erhalten den Fehler ERR_INSECURE_RESPONSE, weil Sie einen CNAME verwenden, der loadbalancer.amazonaws.com löst. Da Ihr Zertifikat für www.ihredomain.com lautet, gibt es einen gültigen Fehler. CNAME und Alias ​​verhalten sich etwas anders. Bei einem CNAME ist der Datenverkehr kein gültiger Alias ​​Ihrer Domain. Wenn Sie also versuchen, diesen zu sichern, erhalten Sie Fehler. Wenn Sie jedoch einen A-Eintrag für www und einen Alias ​​erstellen, der für loadbalancer.amazonaws.com gilt, ist der Datenverkehr von loadbalancer.amazonaws.com auf www.yourdomain.com jetzt ein gültiger Datenverkehr für Ihre Domain und Sie haben diese Fehler nicht mehr.

Um sicheren Verkehr für www.yourdomain.com bei loadbalancer.amazonaws.com zu beenden, müssen Sie einen A-Eintrag haben, der dort alias wird. Unglücklicherweise liefern ELBs nur einen DNS-Eintrag, keine IP-Adresse, aber viele DNS-Anbieter (z. B. GoDaddy) erlauben Ihnen nicht, einen DNS-A-Eintrag zu haben, der mit einer Alias-Adresse versehen ist. Sie erfordern, dass Sie eine IP-Adresse als Alias ​​verwenden. Was das Leben ein bisschen komplexer macht.

Es gibt mehrere Möglichkeiten, dies zu erreichen (URL-Weiterleitung und Maskierung wird von SSL nicht unterstützt), aber die einfachste Lösung ist Route 53. Für die Verwendung von Route 53 müssen Sie Ihren Namen nicht registrieren oder übertragen AWS und eine gehostete Zone kostet pro Domain nur $ 0,50 pro Monat. Um

verwenden Route 53 die folgenden Schritte aus:

  1. erstellen Hosted Zone für yourdomain.com. Wenn Sie in Route 53 eine Hosted Zone erstellen, werden einige Standarddatensätze (wie A-, NS- und SOA-Datensätze) ausgefüllt. Notieren Sie die NS-Datensätze, da Sie sie später benötigen.
  2. Kopieren Sie als Nächstes die vorhandenen Zonendateieinträge (wie MX-Datensätze) von Ihrem aktuellen DNS-Anbieter in Ihre neue gehostete Zone.
  3. Wenn es um einen Datensatz geht, dem Sie den Datenverkehr zu Ihrem ELB leiten möchten, geben Sie den Namen ein, sagen Sie www, und direkt unter dem Feld für die Typenoptionen wird eine Radiooption mit dem Hinweis "Alias: yes" angezeigt Nein". Wenn Sie Ja auswählen, wird das Wertfeld nicht mehr angezeigt und Sie sehen die Option "Alias-Ziel: Zielname eingeben". Wenn Sie auf dieses Feld klicken, erhalten Sie eine Dropdown-Liste mit Ressourcen in Ihrem Konto, denen Sie einen Alias ​​zuweisen können. Wählen Sie einfach Ihren Lastenausgleich aus.
  4. Klicken Sie auf Erstellen, und Sie sind fertig mit Route 53.
  5. Nun, dass alle Ihre DNS-Datensätze kopiert werden, und Sie gehen zu Ihrem Registrar und ändern Sie die Nameserver zu denen, die Route 53 zur Verfügung gestellt.

Jetzt bearbeitet Route 53 Ihren DNS für Sie. Und loadbalancer.amazonaws.com ist ein gültiger Alias ​​von www.mydomain.com. Da loadbalancer.amazonaws.com jetzt ein gültiger Alias ​​von www.yourdomain.com ist, wenn Sie www.yourdomain.com besuchen, wird Ihr ELB bei loadbalancer.amazonaws.com den Verkehr als www.yourdomain.com beenden und Ihr Fehler wird gelöst.

Hinweis: Wenn sich Ihre Instanzen in us-east-1 befinden, können Sie eine unbegrenzte Anzahl von kostenlosen Standard-, SAN- und Wildcard-SSL-Zertifikaten für Ihren ELB und Ihre Domäne mit Certificate Manager erhalten.

Verwandte Themen