Der HAProxy ist ein weit verbreiteter, zuverlässiger Hochleistungs-Reverse-Proxy, der Hochverfügbarkeits- und Lastausgleichsfunktionen für TCP- und HTTP-Anwendungen bietet. Standardmäßig wird es mit kompiliert OpenSSL, also unterstützend SSL Terminierung, wodurch Ihr Website-/Anwendungs-Stack den Datenverkehr zwischen Ihrem „Web Entry Server“ oder Application Access Gateway-Server und Client-Anwendungen verschlüsseln und entschlüsseln kann.
Diese Anleitung zeigt, wie man a konfiguriert CA-SSL Zertifikat ein HAPorxy. Diese Anleitung geht davon aus, dass Sie Ihr Zertifikat bereits von der Zertifizierungsstelle erhalten haben und bereit sind, es auf einem HAProxy-Server zu installieren und zu konfigurieren.
Die erwarteten Dateien sind:
Bevor Sie Ihre konfigurieren CA Zertifikat ein
HAProxy, das muss man verstehen HAProxy erfordert eine einzelne.pem
Datei, die den Inhalt aller oben genannten Dateien enthalten sollte, verkettet in der folgenden Reihenfolge:
.Schlüssel
, (kann am Anfang oder am Ende der Datei stehen)..crt
)..ca-Paket
), undUm die zu erstellen .pem
Datei, wechseln Sie in das Verzeichnis, in dem sich Ihre Zertifikatsdateien befinden, z ~/Downloads, dann führe die aus Katzenbefehl so (ersetzen Sie die Dateinamen entsprechend):
$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem.
Als nächstes laden Sie die gerade erstellte hoch .pem
Zertifikatsdatei in die HAProxy Server mit dem scp-Befehl wie abgebildet (ersetzen Systemadministrator und 192.168.10.24 mit dem Benutzernamen und der IP-Adresse des Remote-Servers):
$ scp example.com.pem [E-Mail geschützt]:/home/sysadmin/
Erstellen Sie dann ein Verzeichnis, in dem sich das Zertifikat befindet .pem
Datei wird mit dem gespeichert mkdir Befehl und kopieren Sie die Datei hinein:
$ sudo mkdir -p /etc/ssl/example.com/ $ sudo cp example.com.pem /etc/ssl/example.com/
Als nächstes öffnen Sie Ihre HAProxy Konfigurationsdatei und konfigurieren Sie das Zertifikat im Frontend-Listener-Abschnitt mit den ssl- und crt Parameter: Ersteres aktiviert die SSL-Terminierung und Letzteres gibt den Speicherort der Zertifikatsdatei an.
frontend http_frontend mode http bind *:80 bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 Umleitungsschema https code 301 if !{ ssl_fc } default_backend http_servers.
Bestimmte Versionen von SSL/TLS werden aufgrund von Sicherheitslücken, die in ihnen entdeckt wurden, derzeit nicht zur Verwendung empfohlen. Um die unterstützte Version von einzuschränken SSL, können Sie hinzufügen ssl-min-ver Parameter so:
bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2.
Um sicherzustellen, dass Ihre Website nur über erreichbar ist HTTPS, müssen Sie HAProxy aktivieren, um alle umzuleiten HTTP Verkehr zu HTTPS falls ein Benutzer versucht, über HTTP (Port 80) darauf zuzugreifen.
Fügen Sie der obigen Konfiguration die folgende Zeile hinzu:
Umleitungsschema https-Code 301 wenn !{ ssl_fc } ODER. HTTP-Request-Weiterleitungsschema https, es sei denn { ssl_fc }
Ihr Frontend-Bereich sollte nun wie in dieser Beispielkonfiguration aussehen:
frontend http_frontend mode http bind *:80 bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2 Umleitungsschema https Code 301 if !{ ssl_fc } default_backend http_servers Backend http_servers mode http balance roundrobin option httpchk HEAD / http-response set-header X-Frame-Options SAMEORIGIN http-Antwort-Set-Header X-XSS-Schutz 1; Modus=blockieren http-Antwort-Set-Header X-Content-Type-Options nosniff default-server check maxconn 5000 server http_server1 10.2.1.55:80.
Speichern Sie die Konfigurationsdatei und schließen Sie sie.
Überprüfen Sie dann mit dem folgenden Befehl, ob die Syntax korrekt ist:
$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c.
Wenn die Konfigurationsdatei gültig ist, fahren Sie fort und laden Sie den Haproxy-Dienst neu, um die letzten Änderungen in der Konfiguration zu übernehmen, indem Sie die verwenden systemctl-Befehl:
$ sudo systemctl haproxy neu laden.
Testen Sie zu guter Letzt das gesamte Setup, indem Sie über einen Webbrowser auf Ihre Website zugreifen und sicherstellen, dass das Zertifikat ordnungsgemäß geladen wird und der Browser anzeigt, dass „Die Verbindung ist sicher”!
Das ist alles! Wir hoffen, dass diese Anleitung Ihnen geholfen hat, ein SSL-Zertifikat in der HAProxy-Load-Balancer-Software zu konfigurieren. Wenn Sie auf Fehler stoßen, teilen Sie uns dies über das Feedback-Formular unten mit. Wir werden uns freuen, Ihnen zu helfen.