fragen stichworte

EC2 Public DNS funktioniert nicht mit HTTPS - Elastic Beanstalk-URL funktioniert

Ich habe keine Ideen mehr, um dieses Problem zu beheben. Ich habe fast jede gegebene Lösung für ähnliche Probleme durchlaufen und nichts hat erfolgreich funktioniert.

Ich habe meine Ruby on Rails-Anwendung erfolgreich mit Elastic Beanstalk für die Arbeit über HTTPS eingerichtet. Die für meine elastische Beanstalk-Anwendung bereitgestellte URL funktioniert ordnungsgemäß - was bedeutet, dass mein SSL-Zertifikat korrekt ist.

Ich habe zwei gehostete Zonen für meine registrierte Domäne, die ich mithilfe von CNAMEs an meine elastische URL für Beanstalk weiterleiten wollte. Dies funktioniert jedoch nicht, was ich will, da www.something.example.com funktioniert, aber www.example. com wird nicht - was sinnlos ist.

Ich habe ursprünglich A-Einträge für jede gehostete Zone verwendet und diese auf die mit meiner Ec2-Instanz verknüpfte Elastic-IP-Adresse festgelegt. Das Problem dabei ist jedoch, dass meine öffentliche DNS-URL NICHT funktioniert, wenn sie für HTTPS konfiguriert ist. Ich erhalte jedes Mal ein "ERR_CONNECTION_REFUSED", wenn ich versuche, mich entweder mit der elastischen IP oder dem angegebenen öffentlichen DNS von Ec2 zu verbinden.

Hier sind die Load-Balancing-Einstellungen für meine Elastic Beanstalk-App:

Hier finden Sie die Sicherheitsgruppeninformationen aus meiner Load Balancer-Beschreibung:

Hier sind die festgelegten Regeln für diese Sicherheitsgruppe:

Hier sehen Sie die Ansicht der Instanz mit den gesetzten Regeln:

Hier sind die Listener-Einstellungen vom Load Balancer:

Ich habe diese Lösung verwendet, um die Listener-Einstellungen festzulegen.

Ich habe diese Lösung verwendet, um die eingehenden Einstellungen für die Sicherheitsgruppe festzulegen.

Ich habe in meiner production.rb-Datei "config.force_ssl = true". Ich kann nicht über HTTP auf die Site zugreifen, der gesamte Verkehr wird automatisch zu HTTPS umgeleitet.

Um es zusammenzufassen:

  • Elastische Beanstalk-URL - funktioniert ordnungsgemäß (HTTPS)
  • Öffentliches DNS der Ec2-Instanz - NICHT funktioniert (HTTPS)
  • Elastische IP - NICHT funktioniert (HTTPS)

Vielen Dank an alle, die Einblick in das Geschehen geben können.

BEARBEITEN

Festgelegt. Siehe geprüfte Lösung.

antworten

Lösung: (geht davon aus, dass sich Ihre DNS für example.com in route53 befindet): Erstellen Sie einen A-Datensatz für den Scheitelpunkt von example.com (kein Hostname), und wählen Sie für Alias ​​YES aus.

Verwenden Sie für das Alias-Ziel den ELB-Einstiegspunkt für elastische Bohnenstange (es sollte eine Dropdown-Liste geben, aus der Sie wählen können.

Nachdem der DNS-Datensatz verbreitet wurde, können Sie die Site über https://example.com korrekt erreichen (ich habe dies über einen Eintrag/etc/hosts getestet).

Wenn Sie example.com nicht in route53 haben (oder es nicht dort abrufen können), müssen Sie ein anderes SSL-Zertifikat erstellen, da das aktuelle nur auf dem Scheitelpunkt Ihrer Site verwendet werden kann. Mit einem Wildcard-Zertifikat für * .example.com können Sie die Standortnamen in DNS wesentlich flexibler gestalten.