Bisher endete setup.sh mit einer laufenden API auf 127.0.0.1:8080 und der
Aufgabe, einen Webserver von Hand davorzusetzen. Das war der haeufigste Punkt,
an dem eine Einrichtung liegen blieb.
setup.sh richtet jetzt nginx ein und stellt ein selbst signiertes Zertifikat
aus. Es gilt fuer Rechnernamen, vollstaendigen Namen und jede globale
IPv4-Adresse (subjectAltName — moderne Browser lesen den CN nicht mehr), 3650
Tage; der SHA-256-Fingerabdruck wird genannt.
Drei Entscheidungen:
- Die API bleibt an 127.0.0.1:8080 gebunden. Sie auf alle Schnittstellen zu
legen waere der kuerzere Weg und der falsche: Die Verschluesselung liesse
sich dann umgehen, indem man Port 8080 direkt anspricht.
- Die Firewall wird gemeldet, nicht geaendert. Eine Einrichtung, die
selbsttaetig einen Port ins Netz oeffnet, hebelt genau die Entscheidung aus,
fuer die jemand die Firewall aufgesetzt hat.
- Scheitert die Oberflaeche, scheitert nicht die Einrichtung. Geprueft wird mit
nginx -t, bevor die Konfiguration uebernommen wird; haelt sie nicht, wird sie
entfernt und der Nachholweg gezeigt.
Zwei Funde beim Erproben:
- http2 on; gibt es erst ab nginx 1.25.1. Debian 12 liefert 1.22, wo HTTP/2 ein
Parameter von listen ist — die neue Schreibweise ergibt dort "unknown
directive http2", und nginx startet nicht. Die Fassung wird jetzt gelesen.
- setup.sh kopierte nur diagnose.sh neben die Programme. Der eigene Hinweis
"Spaeter nachholen: /opt/syncova/setup.sh --weboberflaeche" verwies damit auf
eine Datei, die es nicht gab; schwerer wiegt uninstall.sh — wer das
ausgepackte Paket aufraeumte, haette die Anlage nie wieder entfernen koennen.
Jetzt kommen alle vier Skripte mit.
Nachgewiesen im Container gegen Debian 12 mit nginx 1.22: Neuinstallation von
Grund auf, Oberflaeche und /api/ von aussen ueber HTTPS erreichbar (200),
SPA-Fallback traegt, Anmeldung und Repository-Anlage durch nginx hindurch,
Durchsetzungsstufe gemessen, HTTP leitet mit 301 auf HTTPS, Fingerabdruck
stimmt mit dem genannten ueberein, Neuausstellung des Zertifikats geprueft.
Regressionstests fuer beide Funde, beide durch Mutation als fangend bestaetigt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>