Pfund-Proxy mit mehreren SSL-Zertifikaten

7

Nachdem ich auf der Pound- Website gelesen habe, dass SSL keine virtuellen Hostnamen unterstützt, scheint mir dies jetzt ziemlich unkompliziert und offensichtlich zu sein. Ich habe einen Pfund-Load-Balancer, mit dem ich SSL-Verbindungen beenden möchte. Wenn auf einem dahinter liegenden Webserver mehrere Sites basierend auf dem Hostnamen ausgeführt werden, kann ich Pound so konfigurieren, dass mehrere SSL-Zertifikate für diese verschiedenen Hosts verwendet werden.

Die einzige Möglichkeit, dies zu tun, besteht darin, dem Load Balancer für jeden Standort, der SSL verwenden möchte, eine andere IP-Adresse zuzuweisen und ein Zertifikat für diese IP- und Portkombination für einen bestimmten Standort zu konfigurieren.

Tut jemand das, würde das funktionieren?

AKTUALISIEREN

Wenn jemand ein Konfigurationsbeispiel freigeben kann, ist dies im Idealfall die beste Lösung, damit ich darüber lesen kann. Vielen Dank.

jwbensley
quelle
Ich habe es nicht selbst ausprobiert, kann aber nicht erkennen, warum es weder mit einer zweiten IP noch mit dem Abhören eines anderen Ports funktioniert.
Boburob
Ich möchte jedoch nicht wirklich die andere Portroute wählen, da dies bei Personen, die die benutzerdefinierte URL eingeben, nicht funktioniert. Aber danke für die Eingabe. Zwei Köpfe sind besser als einer!
Jwbensley
Kannst du bitte deine Konfiguration posten? Wenn Sie nur 1 IP verwenden!? Danke vielmals! GW
gwegl

Antworten:

11

Sieht so aus, als wäre ich zu eifrig gewesen und hätte nicht genug recherchiert, bevor ich hier gepostet habe. Da Pound SSL-SNI (für SSLv3) unterstützt, kann ich einfach mehrere "Cert" -Anweisungen verwenden, um mehrere Zertifikatdateien anzugeben, und Pound wählt die entsprechende für die eingehende Anforderung aus.

[Wenn eine Anfrage über SSL für eine Domain eingeht, die ich nicht hoste und für die ich daher kein Zertifikat habe, verwendet Pound (zumindest für mich) nur das erste Zertifikat in der Liste, wodurch der Browser ein anzeigt SSL-Fehler].

SNI wird von den meisten modernen Browsern unterstützt. Im letzten Quartal 2012 glaube ich nicht, dass es zu viele IE 5 & 6-Benutzer gibt, zum Beispiel;)

Dies ist eine grundlegende Beispielkonfiguration, die für mich funktioniert.

ListenHTTPS
    Address my.public.facing.ip
    Port    443
    Cert    "/etc/ssl/certs/www.sslsite1.com.pem"
    Cert    "/etc/ssl/certs/www.sslsite2.com.pem"

    Service
        BackEnd
            Address 192.168.0.10 # A web server IP
            Port    80
        End
    End
End
jwbensley
quelle
1

Ich habe Pound, das mehrere verschiedene SSL-Websites bedient. Verwenden Sie einfach separate ListenHTTPS für jede andere Site, die alles ist.

Alexus
quelle