it-swarm.com.de

Benötigt jeder Server hinter einem Load Balancer ein eigenes SSL-Zertifikat?

Wenn sich hinter einem Load Balancer 5 Webserver befinden (z. B. Haproxy) und diese Inhalte für dieselbe Domäne bereitstellen, benötigen Sie SSL-Zertifikate für alle Server oder können Sie auf jedem Server dasselbe Zertifikat verwenden?

Ich weiß, dass Sie alle SSL-Anforderungen auf einen bestimmten Server stellen können, aber das erfordert verteilte Sitzungsinformationen und die Hoffnung, dass dies nicht der Fall ist.

67
Derek Gathright

Wenn Sie 5 Webserver hinter einem Load Balancer haben (...), benötigen Sie SSL-Zertifikate für alle Server.

Es hängt davon ab, ob.

Wenn Sie Ihren Lastenausgleich auf der TCP oder IP-Schicht (OSI-Schicht 4/3, a.k.a L4, L3) durchführen, muss auf allen HTTP-Servern das SSL-Zertifikat installiert sein.

Wenn Sie den Lastenausgleich auf der HTTPS-Ebene (L7) durchführen, installieren Sie das Zertifikat normalerweise nur auf dem Lastenausgleich und verwenden einfaches unverschlüsseltes HTTP über das lokale Netzwerk zwischen dem Lastenausgleich und den Webservern (für eine optimale Leistung auf dem Webserver).

Wenn Sie eine große Installation haben, führen Sie möglicherweise Internet -> L3-Lastausgleich -> Schicht von L7-SSL-Konzentratoren -> Lastausgleicher -> Schicht durch von L7 HTTP-Anwendungsservern ...

Willy Tarreau, der Autor von HAProxy, hat einen wirklich guten Überblick über die kanonische Methoden zum Lastausgleich von HTTP/HTTPS .

Wenn Sie auf jedem Server ein Zertifikat installieren, stellen Sie sicher, dass Sie ein Zertifikat erhalten, das dies unterstützt. Normalerweise können Zertifikate auf mehreren Servern installiert werden, sofern alle Server den Datenverkehr nur für einen vollständig qualifizierten Domänennamen bereitstellen. Überprüfen Sie jedoch, was Sie kaufen. Zertifikatsaussteller können ein verwirrendes Produktportfolio haben ...

69
Jesper M

Sie sollten in der Lage sein, auf jedem Server dasselbe Zertifikat zu verwenden. Wenn Ihre Website www.gathright.com lautet, sollten Sie in der Lage sein, ein Zertifikat für diesen vollqualifizierten Domänennamen zu erwerben. Dann installieren Sie es auf jedem Ihrer 5 Server hinter dem Balancer.

Alternativ können Sie für jeden Webserver ein separates Zertifikat erhalten, aber "www.gathright.com" als "Alternative Name des Betreffs" angeben. Dies bedeutet, dass jedes der 5 Zertifikate sowohl für SSL für diesen allgemeinen vollqualifizierten Domänennamen als auch für SSL gültig ist zu den spezifischen Server-FQDNs.

16
Ryan Fisher

YES , Sie können auf allen Servern dasselbe Zertifikat und denselben zugeordneten privaten Schlüssel verwenden, wenn sie sich hinter einem Load Balancer oder Load Balancing Reverse Proxy befinden und wenn sie liefern alle Inhalte für dieselbe Domain.

Wenn Zertifikate von einer Zertifizierungsstelle signiert werden, wird bestätigt, dass die Zertifizierungsstelle den auf dem Zertifikat aufgeführten Namen überprüft hat. Bei Zertifikaten für Websites bedeutet dies den Domainnamen der Website. Ihr Browser erwartet, dass der Server, mit dem er spricht, wenn er über HTTPS spricht, ein Zertifikat vorlegt, das denselben Namen wie der Domänenname des Browsers trägt denkt, es spricht mit. (Zum Beispiel wird VeriSign wahrscheinlich nicht das Zertifikat von Hacker Joe für bankofamerica.com signieren. Selbst wenn es Hacker Joe gelingt, den Datenverkehr zwischen Ihnen und bankofamerica.com abzufangen, verfügt Hacker Joe nicht über ein signiertes Zertifikat für bankofamerica.com und Ihren Browser wird überall große rote Warnflaggen aufstellen.)

Entscheidend ist, dass der Name auf dem Zertifikat mit dem Domainnamen übereinstimmt, mit dem der Browser zu sprechen glaubt. Sie können dasselbe Zertifikat (mit dem zugehörigen privaten Schlüssel) verwenden, das auf mehreren Webservern in einem Webcluster den richtigen Namen trägt, sofern sich diese hinter einem Load Balancer befinden.

Sie können auch einen SSL-terminierenden Load Balancer verwenden. In diesem Fall würden Sie das Zertifikat (mit dem zugehörigen privaten Schlüssel) für den Load Balancer verwenden, und die Webserver benötigen keine Zertifikate, da sie nichts damit zu tun haben das SSL.

12
yfeldblum

Unser Setup hat sehr gut funktioniert:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

Auf diese Weise entschlüsselt Pfund den Verkehr, von hier an ist alles gerade http. Vorteile: weniger Konfiguration auf den Webservern, ein Tool für jeden Job. Sie können die CPU auf dem Pound-Computer maximal nutzen und die Webserver "normal" halten. Sie sollten mindestens zwei von jedem erhalten (Pfund, Haproxy, Webserver), wenn die Verfügbarkeit wichtig ist.

6
jotango

AFAIR, Sie können auf jedem Server dasselbe Zertifikat verwenden. Sie können auch einen SSL-Beschleuniger implementieren und den gesamten SSL-Verkehr darauf verlagern.

3
joeqwerty