HTTPS aktivieren¶
Warum HTTPS wichtig ist
Browser wie Chrome verlangen, dass Drovio Server über HTTPS erreichbar ist, damit ein Benutzer sein Mikrofon oder seine Webcam aus dem Web-Client heraus freigeben kann.
Schritte¶
-
Beziehen Sie bei Ihrer Zertifizierungsstelle ein Zertifikat, ein Zwischenzertifikat und einen privaten Schlüssel, als
.crtund.keyoder als.pem. In den folgenden Befehlen heißen siedrovioserver.crt,ca.crtunddrovioserver.key. -
Führen Sie auf der Maschine, auf der Drovio Server bereitgestellt ist, die folgenden Befehle aus. Ersetzen Sie
eUv4ffT4durch ein Passwort Ihrer Wahl undyour_hostnamedurch den Hostnamen, für den das Zertifikat ausgestellt wurde. Der erste Befehl löscht den vorhandenen Keystore, damit der Import von einer sauberen Datei ausgeht; sichern Sie ihn vorher, falls er für Sie zählt. Es handelt sich nicht um den SAML-Keystore, der eine separate Datei ist und überusers.auth.saml.keystoreangegeben wird.rm /etc/drovio-server/keystore.jks openssl pkcs12 -export -in drovioserver.crt -inkey drovioserver.key \ -certfile ca.crt -out pkcs2.p12 -name your_hostname -password pass:eUv4ffT4 keytool -importkeystore -deststorepass eUv4ffT4 -destkeypass eUv4ffT4 \ -destkeystore /etc/drovio-server/keystore.jks \ -srckeystore pkcs2.p12 -srcstoretype PKCS12 -srcstorepass eUv4ffT4 \ -alias your_hostnameLöschen Sie
C:\ProgramData\Drovio\Drovio Server\keystore.jks, dann:openssl pkcs12 -export -in drovioserver.crt -inkey drovioserver.key ^ -certfile ca.crt -out pkcs2.p12 -name your_hostname -password pass:eUv4ffT4 keytool -importkeystore -deststorepass eUv4ffT4 -destkeypass eUv4ffT4 ^ -destkeystore "C:\ProgramData\Drovio\Drovio Server\keystore.jks" ^ -srckeystore pkcs2.p12 -srcstoretype PKCS12 -srcstorepass eUv4ffT4 ^ -alias your_hostnameWerkzeuge unter Windows
- Laden Sie die OpenSSL-Binaries herunter, zum Beispiel von https://indy.fulgan.com/SSL/.
- Der Befehl
keytoolliegt im Ordnerbinder Java-JRE, die zusammen mit Drovio Server bereits unterC:\Program Files\Java\installiert ist.
-
Ändern Sie die folgenden Felder in der Konfigurationsdatei oder direkt in der Administrationsoberfläche, im Abschnitt
http:"tls": true, "keystore": "/etc/drovio-server/keystore.jks", "keystore_password": "eUv4ffT4", "https_port": 443https_portzu setzen ist wichtig: TLS allein zu aktivieren lässt den Server weiterhin auf seinem Standardport8090lauschen.Das Keystore-Passwort wird im Klartext gespeichert
settings.confenthält nun ein Geheimnis. Stellen Sie sicher, dass die Datei nur für das Konto lesbar ist, unter dem Drovio Server läuft. -
Starten Sie den Dienst Drovio Server neu. Anders als der größte Teil der Konfiguration wird alles, was den HTTP-Listener definiert, nur einmal beim Start gelesen, daher ist hier ein Neustart nötig. Siehe Dienst starten und stoppen für Ihre Plattform.
-
Prüfen Sie das Ergebnis von einer anderen Maschine aus:
Die Ausgabe muss Ihr Zertifikat und das Zwischenzertifikat zeigen. Ein fehlendes Zwischenzertifikat ist der häufigste Fehler: manche Browser akzeptieren die Verbindung trotzdem, während die Drovio App sie ablehnt.
Zertifikat erneuern¶
Der Keystore enthält eine Kopie des Zertifikats, keinen Verweis darauf: ein erneuertes Zertifikat muss daher erneut importiert werden. Wiederholen Sie Schritt 2 jedes Mal, was mit Let's Encrypt alle 90 Tage der Fall ist.
Senden Sie unter Linux SIGUSR2 an Drovio Server, um es anzuwenden: der
Keystore wird von der Festplatte neu gelesen und das Zertifikat auf dem
laufenden Listener ausgetauscht, ohne eine einzige Verbindung zu verlieren:
Die Logzeile SSL certificate has been reloaded bestätigt es. Ein Fehlschlag
wird mit SSL certificate reloading has failed gemeldet, und das vorherige
Zertifikat bleibt in Betrieb.
Erneuerung automatisieren
Damit lässt sich die Erneuerung vollständig automatisieren: lassen Sie Schritt 2 vom Deploy-Hook Ihres ACME-Clients ausführen und senden Sie anschließend das Signal. Kein Neustart, kein Wartungsfenster.
Windows
Unter Windows werden Signale nicht verarbeitet. Ein erneuertes Zertifikat anzuwenden erfordert dort einen Neustart des Dienstes.
Protokolle und Cipher Suites¶
TLS 1.2 und TLS 1.3 sind standardmäßig aktiviert. Um sie einzuschränken oder
eine Liste von Cipher Suites festzulegen, verwenden Sie
http.tls_protocols und http.tls_cipher_suites.