Nextcloud Server hinter einem Nginx Reverse Proxy Server

Aus Privates Wiki
Zur Navigation springen Zur Suche springen

Wenn der Nextcloudserver hinter einem Reverse Proxy Server steht kann er sich nicht selber um die Beschaffung eines Letsencrypt Zertfikats kümmern, da der Router die notwendigen Ports 80 und 443 nur auf einen Server portfowarden kann.

Deshalb benötigt man einen Mechanismus, die Zertifikate, die der Reverse Proxy Server für den Nextcloud Server beschafft hat und in Zukunft auch regelmäßig erneuern wird, auf den Nextcloud Server zu übertragen.

Wir das nicht gemacht, bekommen Clients aus dem internen Netz eine Zertifikatswarnung sobald das ursprüngliche evtl. bei der Installation erzeugte Zertifikat des Nextcloudservers abläuft.


Da aber bekannt ist, wo das Zertikat für den Nextcloudserver auf dem Reverse Proxy abgelegt ist, kann es über ein Bash Script einfach perodisch per cronjob and die richtige Stelle auf den Nextcloudserver kopiert werden.

Folgend Vorgehensweise führt zum Ziel:

Einrichten eines SSH Zugriffs vom Nextcloudserver (NCS) auf den Reverse Proxy Server (RPS)

  • Gernerieren eines Schlüsselpaares auf dem NCS als root
ssh-keygen -t rsa
ssh-copy-id root@RPC
  • Kopieren des öffentlichen Schlüssels von NCS auf den RPS
ssh-copy-id tim@just.some.other.server

Letsencrypt Zertifkate per Cronjob von RPS auf den NCS übertragen

  • Script für den Kopierjob erstellen
 Die Quelle und das Ziel den entsprechnenden Gegebenheiten anpassen
nano /usr/local/bin/cp-le-certs.sh
#! /bin/sh
scp root@RPS:/RevProxySRV/letsencrypt/live/npm-3/*.pem /etc/letsencrypt/live/Domainbezeichnung
/etc/init.d/apache2 restart
  • cronjob für regelmässigen Abgleich anlegen