Aktivieren von SSL auf der Fusion Admin UI
Es gibt eine aktualisierte Version dieses Tutorials in der Fusion-Dokumentation. Lucidworks Fusion kann die Kommunikation zu und von Clients mit…
Es gibt eine aktualisierte Version dieses Tutorials in der Fusion-Dokumentation.
Lucidworks Fusion kann die Kommunikation zu und von Clients mit SSL verschlüsseln. Dieser Abschnitt beschreibt die Aktivierung von SSL auf der Fusion Admin UI mit dem Jetty-Server unter Verwendung eines selbstsignierten Zertifikats.
Grundlegende SSL-Einrichtung
Erzeugen Sie ein selbstsigniertes Zertifikat und einen Schlüssel
Um ein selbstsigniertes Zertifikat und einen einzigen Schlüssel zu erzeugen, mit dem sowohl der Server als auch der Client authentifiziert werden, verwenden wir den Befehl JDK keytool und erstellen einen separaten Schlüsselspeicher. Dieser Schlüsselspeicher wird im Folgenden auch als Truststore verwendet. Es ist möglich, den mit dem JDK gelieferten Schlüsselspeicher für diese Zwecke zu verwenden und einen separaten Truststore zu nutzen, aber diese Optionen werden hier nicht behandelt.
Führen Sie die folgenden Befehle im Verzeichnis $FUSION_HOME/jetty/ui/etc in der binären Fusion-Distribution aus.
Mit der Keytool-Option „-ext SAN=…“ können Sie alle DNS-Namen und/oder IP-Adressen angeben, die bei der Überprüfung des Hostnamens zugelassen werden sollen.
keytool -genkeypair -alias fusion -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore fusion.keystore.jks -ext SAN=DNS:localhost,IP:127.0.0.1 -dname „CN=localhost, OU=Organisationseinheit, O=Organisation, L=Ort, ST=Staat, C=Land“
Mit dem obigen Befehl wird eine Keystore-Datei mit dem Namen fusion.keystore.jks im aktuellen Verzeichnis erstellt.
Konvertieren Sie das Zertifikat und den Schlüssel in das PEM-Format zur Verwendung mit cURL
cURL ist nicht in der Lage, JKS-formatierte Schlüsselspeicher zu verwenden. Daher muss der JKS-Schlüsselspeicher in das PEM-Format konvertiert werden, das cURL versteht.
Konvertieren Sie zunächst den JKS-Keystore mit keytool in das PKCS12-Format:
keytool -importkeystore -srckeystore fusion.keystore.jks -destkeystore fusion.keystore.p12 -srcstoretype jks -deststoretype pkcs12
Die keytool-Anwendung fordert Sie auf, ein Passwort für den Ziel-Schlüsselspeicher zu erstellen und das Passwort für den Quell-Schlüsselspeicher einzugeben, das bei der Erstellung des Schlüsselspeichers festgelegt wurde („secret“ in dem oben gezeigten Beispiel).
Als nächstes konvertieren Sie den Keystore im PKCS12-Format, einschließlich des Zertifikats und des Schlüssels, mit dem Befehl openssl in das PEM-Format:
openssl pkcs12 -in fusion.keystore.p12 -out fusion.pem
Fusion konfigurieren
Kopieren Sie zunächst jetty-https.xml und jetty-ssl.xml von $FUSION_HOME//jetty/home/etc nach $FUSION_HOME/jetty/ui/etc
Als nächstes bearbeiten Sie jetty-ssl.xml und ändern die keyStore-Werte so, dass sie auf den oben erstellten JKS-Keystore verweisen – das Ergebnis sollte so aussehen:
Bearbeiten Sie die Datei ui (nicht ui.sh) unter $FUSION_HOME/bin und fügen Sie die folgenden 3 Zeilen hinzu
-
„https.port=$HTTP_PORT“
-
„$JETTY_BASE/etc/jetty-ssl.xml“
-
„$JETTY_BASE/etc/jetty-https.xml“
Fusion mit SSL ausführen
Um alle Dienste zu starten, führen Sie $FUSION_HOME/bin/fusion start aus. Dadurch werden Solr, die Fusion API, die Admin UI und die Connectors gestartet, die jeweils in ihren eigenen Jetty-Instanzen und auf ihren eigenen Ports laufen
bin/fusion start
Vertrauen Sie danach der Fusion-Website (weil wir uns auf dem lokalen Rechner befinden).
Endlich, Fusion Admin UI mit SSL