De:InterfaceÜberHTTPS

Aus YaCyWiki
Wechseln zu: Navigation, Suche

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.