AWS - SSL / https im Lastenausgleich

8

Ich habe ein Problem, https zu meiner ec2-Instanz hinzuzufügen und vielleicht habt ihr die Antwort, damit es funktioniert.

Ich habe einen Load-Balancer, der die Verbindung zu meiner EC2-Instanz herstellt, ich habe das SSL-Zertifikat dem Load-Balancer hinzugefügt, und alles ist gut gelaufen. Ich habe einen Listener zum Port 443 hinzugefügt, der an den Port weiterleitet 443 meiner Instanz und ich habe Apache auf Port 443 und 80 konfiguriert, jetzt hier der Screenshot meines Load Balancers:

Das SSL-Zertifikat ist gültig und auf Port 80 (http) ist alles in Ordnung, aber wenn ich versuche, das mit https die Anfrage nicht durchkommt.

Irgendeine Idee?

Prost

    
Matteo Hertel 16.11.2014, 21:08
quelle

2 Antworten

19

Elastic Load Balancer kann Ihre HTTPS-Anforderungen nicht an den Server weiterleiten. Deshalb ist SSL da: um einen Mann mitten im Angriff (unter anderem) zu verhindern

Wie Sie das erreichen können, ist folgendes:

  • Konfigurieren Sie Ihr ELB so, dass es eine 443-TCP-Verbindung akzeptiert und installieren Sie ein SSL-Zertifikat über IAM (genau wie Sie)
  • Weiterleitung von Verkehr auf TCP 80 zu Ihrer Flotte von Webservern
  • Konfigurieren Sie Ihren Webserver so, dass der Datenverkehr auf TCP 80 akzeptiert wird (SSL wird zwischen dem Load Balancer und den Webservern ebenfalls unterstützt, ist aber in den meisten Fällen nicht erforderlich)
  • Konfigurieren Sie Ihre Webserver-Sicherheitsgruppe so, dass sie nur Datenverkehr vom Load Balancer akzeptiert.

  • (optional) Stellen Sie sicher, dass Ihre Webserver in einem privaten Subnetz ausgeführt werden, d. h. nur private IP-Adresse und keine Route zum Internet-Gateway

Wenn Sie wirklich einen Ende-zu-Ende-SSL-Tunnel zwischen Ihrem Client und Ihren Backend-Servern benötigen (z. B. um SSL-Authentifizierung auf Client-Seite durchzuführen), müssen Sie den Load Balancer im TCP-Modus konfigurieren. nicht im HTTP-Modus (siehe Unterstützung für bidirektionales TLS / HTTPS mit ELB für weitere Details)

Weitere Details:

Sébastien Stormacq 17.11.2014, 01:34
quelle
3

Haben Sie einen HTTPS-Listener auf Ihrer EC2-Instanz? Wenn nicht, sollte der Instanzport für beide Load-Balancer-Listener 80 sein.

    
Richard Szalay 16.11.2014 21:24
quelle