Umstellung http -> https ohne externen Zugriff

Hallo,
welche Änderungen / Einstellungen sind mindestens notwendig, wenn ich eine lokale NC Installation auf https umstellen möchte ? Ohne https funktionieren leider einige Apps nicht zB NC Office/Talk etc , wobei der Server auch weiterhin nicht von aussen erreichbar sein soll. Da reicht mir der Zugriff per VPN.
Bisher habe ich verstanden, dass ich NGINX installieren und konfigurieren und die SSL Einstellungen in der config.php anpassen muss . Falls jemand eine kurze verständliche Anleitung kennt, wäre ich für einen Hinweis dankbar.

  • Bei welchen Anbieter? Lokal
  • Auf welcher Hardware? Raspberry PI4 + 1TB SSD
  • Betriebssystem raspiOS
  • Nextcloud Version: 27.1.4
  • PHP Version: 8.2.12
  • Welche Datenbank? MySql

Das Problem https:// bzw tls für Nextcloud (oder eine beliebige andere Applikation) zu implementiert besteht aus mehreren Teilen.

Zuerst wird ein TLS Zertifikat benötigt. Man kann das Zertifikat von einer externen “public” Zertifizierungsstelle=CA bekommen. Es gibt viele kommerzielle und die im privaten Bereich verbreitete letencrypt die kostenlose Zertifikate ausstellt. Man kann auch selbst erstellte Zertifikate nutzen - diese sind aber aufwendig zu verwalten weil sie zuerst von Applikationen (Desktop Client oder auch Browser) als “nicht vertrauenswürdig” abgelehnt werden. Public CA stellen Zertifikate ausschliesslich für valide publich DNS domains aus. Es ist kein grundsätzliches Problem aber man müsste das interne System erst mal so konfigurieren dass es intern auch per VPN mit dem public DNS erreichbar ist.

Als nächstes muss dieses Zertifikat im System hinterlegt werden. Jeder Webserver kann Seiten per https:// ausliefern, die Config ist jeweils Produktspezifisch. Von dir angesprochene Notwendigkeit einen nginx zu installieren bezeiht sich vermutlich auf die Variante die Applikation hinter einem s.g. Reverse Proxy reverseproxy zu betreiben. Es gibt wiederum unterschiedliche unter anderem nginx apache traefik caddy und mehr… In diesem Setup wird das Zertifikat im Reverse Proxy hinterlegt und die Kommunikation zwischen RP und Applikation bleibt unverschlüsselt per http:// Hier muss man die Applikation konfigurieren so dass sie diesen Umweg korrekt umsetzt und die Zugriffs-URLs nicht zu sich selbst sondern zum reverse proxy erstellt. Die Variante mit dem Reverse Proxy wird bevorzugt verwendet wenn man mehrere Applikationen hosten möchte - hier ist häufig nur eine IP vorhanden so dass es schlicht nicht möglich ist mehrere Port Forwards zu erstellen und ein Reverse Proxy alle Anfragen vom Router bekommt und entsprechend dem Hostnamen an die Applikationen verteilt.

Aus deinen Fragen in diesem und anderen Posts sehe dass du wenig Erfahrung hast. Self-Hosting ist nicht einfach und man ist mit sehr vielen komplexen Themen konfrontiert. Ich würde dir als Anfänger eine fertige Lösung z.B. All-in-One aio oder auch Hansson VM vm ans Herz legen - hier bekommst du “einfach” ein funktionierendes System mit TLS Zertifikaten ohne alle Themen direkt zu Anfang verstehen, richtig und sicher konfigurieren zu müssen. Später wenn du merkst dass das fertige System dich irgendwie einschränkt kannst du immer noch flexiblere Varianten verwenden z.B. Docker Container oder bare-metal.