De:InterfaceÜberHTTPS
Inhaltsverzeichnis
YaCy über HTTPS administrieren und benutzen
Das YaCy-Interface kann über HTTPS angesprochen werden. Nützlich ist dies z.B. falls man mal nicht von zu Hause auf die Administrationsfunktionen seines Peers zugreifen möchte.
Zur Verfügung stehen TLS1.0, TLS1.1 und TLS1.2.
Einrichtung
HTTPS einschalten
Dazu auf der Seite ConfigBasic.html (Menü: Admin Konsole > Eingangskonfiguration) den Schalter "mit SSL" markieren und YaCy neu starten. Per Voreinstellung kann YaCy nun an Port 8443 über HTTPS angesprochen werden (https://localhost:8443/).
Neues Zertifikat erstellen
Zuerst muss ein Zertifikat für den eigenen Peer erstellt werden. Dies geht mithilfe des Programms keytool
, das dem JRE beiliegen sollte.
Wechseln Sie zuerst in das DATA/SETTINGS Verzeichnis von YaCy. Hier soll der Keystore landen und DATA ist das Verzeichnis, dass auch ein späteres Update von YaCy unbeschadet übersteht. Falls Sie den Keystore nicht in DATA lagern, müssen Sie ihn ggf. nach jedem YaCy-Update neu anlegen!
Wechseln sie also mit
cd <YaCy-Dir>/DATA/SETTINGS
ins richtige Verzeichnis.
Dann rufen Sie keytool
wie unten angegeben aus
keytool -keystore mySrvKeystore -genkey -keyalg RSA -alias mycert
Das keytool fragt jetzt verschiedene Daten für das Zertifikat ab (u.a. ein Passwort, dass Sie sich bitte gut merken), die Sie einfach entsprechend angeben, woraufhin keytool das Zertifikat erzeugt und der Zertifikatteil abgeschlossen ist.
Beenden Sie YaCy, falls es noch läuft und öffnen Sie die Datei DATA/SETTINGS/yacy.conf mit einem Texteditor (nicht Notepad).
Dort fügen Sie die Zeilen
keyStore=DATA/SETTINGS/mySrvKeystore
keyStorePassword=mypwd
vor der letzten Zeile mit # EOF hinzu. Pfad und Passwort müssen Sie natürlich für Ihren Peer passend abändern, das Passwort ist das, welches Sie keytool angegeben haben und sich merken sollten.
Vorhandene Zertifikate importieren
Um nun z.B. ein bestehendes Webserver Zertifikat für YaCy wiederverwenden zu können geht man so vor:
1.) Webserver Zertifikat in PKCS12 umwandeln:
openssl pkcs12 -export -out keystore.pkcs12 -passout pass:test -in server.crt -inkey server.key
2.) Zertifikat importieren: DATA/SETTINGS/yacy.conf editieren:
pkcs12ImportFile=keystore.pkcs12
pkcs12ImportPwd=test
Benutzung
Jetzt starten Sie YaCy und können über https://<IP>:<Port>
auf ihren Peer mit den gewohnten Daten zugreifen.
Warnungen des Browsers, dass die Identität des Zertifikats nicht bestätigt werden konnte können Sie ignorieren. Da es sich nur um ein selbstsigniertes Zertifikat handelt, ist dies normal.
YaCy bedient nun auf dem Standard-Port HTTP und auf Port 8443 HTTPS Anfragen.
HTTPS Port ändern
Um einen anderen, als den voreingestellten Port (8443) für HTTPS zu verwenden kann der gewünschte Port in der Konfigurationsdatei DATA/SETTINGS/yacy.conf bzw. per Menü "Erweiterte Konfiguration" über den Eintrag port.ssl
angepasst werden.