Veröffentlichung der Nextcloud im Internet via HTTPS mit Let’s Encrypt-Zerifikat, inkl. Port-Forwarding auf dem Router

Dieser Artikel zeigt, wie man die Nextcloud außerhalb des Heimnetzwerks verfügbar macht. Hierzu wird diese via HTTPS im Internet veröffentlicht, inkl. gültigem Let’s Encrypt-Zertifikat. Weiterhin werden die hier dazu notwendigen Portweiterleitungen auf dem Router behandelt.

Ziel des HowTos

Die heimische Nextcloud ist vom Internet aus verfügbar.

Voraussetzung

Wir haben eine installierte Nextcloud auf einer Synology DiskStation, im Idealfall mit DSM 7.2. Howto für die Installation gibt’s hier.
Des weiteren benötigen wir einen gültigen DNS-Eintrag, der auf die öffentliche IP-Adresse Eures Routers zeigt.

Dieser kann entweder über einen der vielen DynDNS-Provider erfolgen, wie z.B. Duck DNS oder No-IP oder alternativ über den Synology-eigenen DynDNS-Dienst. Wer eine Fritz!Box als Router verwendet kann auch hier MyFritz! als DynDNS-Dienst verwenden.

Arbeitsschritte

Die Veröffentlichung der Nextcloud im Internet umfasst im Wesentlichen folgende Arbeitsschritte:

  • Port-Forwarding auf Router einrichten (exemplarisch bei Fritz!Box)
  • Konfigurationsanpassung an der Synology Web-Station
  • Konfigurationsänderung an der Nextcloud
  • Erzeugung und Einbindung des Let’s Encrypt SSL-Zertifikats

Einrichtung Port-Forwarding auf Router

Die folgenden Schritte zeigen die Einrichtung eines Port-Forwardings exemplarisch auf einer Fritz!Box. Hierdurch werden Anfragen aus dem Internet auf die Synology-DiskStation weitergeleitet. Damit die Dienste der Nextcloud vom Internet aus erreichbar sind, müssen folgende Ports freigegeben werden:

  • TCP-Port 80 (HTTP, unverschlüsselt)
  • TCP-Port 443 (HTTPS, verschlüsselt)

Bei der Fritz!Box legt man die sog. Portfreigaben unterhalb der Rubrik Internet bei Freigaben an. Auf der Registerkarte Portfreigaben wählt man hierzu Neue Freigabe aus.

Anschließens wählt man die Einstellung für den HTTP-Server aus. Das Ziel für die Weiterleitung ist die IP-Adresse der Synology-DiskStation.

Sollte es für die HTTP-Weiterleitung keine Vorlage geben, dann die Weiterleitung gemäß dem folgenden Screenshot einrichten.

Anschließend benötigen wir die Weiterleitung für das HTTPS-Protokoll.

In der Gesamtübersicht sollten folgende Freigaben zu sehen sein:

Empfehlung

Ich persönlich empfehle bei dem Betrieb eines Servers, wie z.B. einer Synology-DiskStation, diesem immer eine statische IP-Adresse zu geben.
Wenn man aber den DHCP-Betrieb nutzt, so empfiehlt es sich nach Möglichkeit, der DiskStation immer die gleiche IP-Adresse zuweisen zu lassen. Da bei einem DHCP-Betrieb sich die IP-Adresse der DiskStation ändern kann, ist es möglich, dass die Portfreigaben ins leere zeigen. In diesem Fall wäre die Nextcloud nicht mehr aus dem Internet heraus erreichbar.
Die Fritz!Box hat hierfür eine Option innerhalb der Client-Konfiguration. Hierzu wählt man seine DiskStation unterhalb von Heimnetz bei Netzwerk aus und klickt auf editieren.


Anschließend wählt man die Option aus, bei der einem Netzwerkgerät immer die gleiche IPv4-Adresse vergeben wird und speichert dies mit OK.

Damit ist routerseitig die Konfiguration abgeschlossen.

Wenn man nun im Browser den öffentlichen DNS-Namen der Nextcloud eingibt, sollte nun eine Zertifikats-Warnung erscheinen.

Diese ist darin begründet, dass der Webserver der DiskStation standardmäßig das selbst signiert Zertifikat wiedergibt.

Sobald man die Warnung bestätigt, erscheint die Willkommens-Seite des Web-Servers der Synology DiskStation

Konfigurationsanpassung an der Synology Web-Station

In dem folgenden Schritt muss man die Konfiguration der Web-Station dahingehend anpassen, damit diese die Nextcloud wiedergibt, sobald sie mit dem öffentlichen DNS-Namen angesprochen wird.
Hierzu meldet man sich am DSM der DiskStation an, startet die Web-Station und wechselt zum Webportal-Untermenü. Anschließend wählt man das Portal für die Nextcloud aus und bearbeitet dieses.

Beim Hostnamen wird nun der offizielle DNS-Name der Nextcloud eingetragen. Die Änderung mit Übernehmen speichern.

Wenn man nun den Browser-Cache leert bzw. ein privates Fenster öffnet und die Nextcloud erneut aufruft, sollte nun der blau-weiße Wolkenhimmel der Nextcloud zu sehen sein.

Das Anmelde-Fenster erscheint jedoch noch nicht, hierzu muss auch der Nextcloud-Installation selbst mitgeteilt werden, dass sie nun über einen neuen bzw. weiteren DNS-Namen angesprochen werden kann.

Konfigurationsänderung an der Nextcloud

Wie dem Screenshot mit der Warnmeldung zu entnehmen ist, muss der Parameter trusted_domains innerhalb der zentralen Konfigurationsdatei config.php angepasst werden. Diese liegt innerhalb des Nextcloud-Installationsverzeichnisses unterhalb des Ordners config.
Um die Datei zu bearbeiten muss man sich als Admin-Benutzer via SSH auf der Synology einloggen und mittels su zum root-Benutzer wechseln. Nun wird mittels des vi-Editors die config.php geöffnet.


Anschließend muss der neue DNS-Name der Nextcloud unter dem index 1 dem array trusted_domains hinzugefügt werden.
Wichtig! Das Komma am Ende der Zeile nicht vergessen. 😉

Nun die Änderungen im vi sichern und zurück in den Browser wechseln. Sobald man die Nextcloud-URL neu lädt sollte nun die Logon-Seite der Nextcloud erscheinen.

Erstellen und Einbinden des Let’s Encrypt-Zertifikat

Nun ist die Nextcloud prinzipiell vom Internet aus erreichbar und auch nutzbar. Wie man jedoch an dem Ausrufezeichen am Beispiel des Firefox-Browsers erkennen kann, mahnt dieser das selbst signierte Zertifikat an.

Dieses Zertifikat wird meistens bei der Erst-Inbetriebnahme der DiskStation erstellt und als Standard-Zertifikat für den DSM-Zugriff und den Webserver hinterlegt. Lässt man sich im Browser dieses anzeigen, sieht es oftmals wie folgt aus:

Man kann auch mit diesem Zertifikat arbeiten, jedoch wird jeder Browser und jede App, die sich zumindest erstmalig mit der Nextcloud verbindet, eine Warnmeldung ausgeben. Dies wird dann doof, wenn man z.B. mit Freunden irgendetwas über die Nextcloud teilen möchte und die Freunde erst einmal von einer Warnmeldung begrüßt werden.

Während man bis vor wenigen Jahren für SSL-Zertifikate zumindest einen zweistelligen Euro-Betrag in die Hand nehmen musste, um seinen Webserver abzusichern, kann man dies heute über die kostenlose Zertifizierungsstelle Let’s Encrypt tun. Weitere Informationen dazu hier.

Die Synology-DiskStation unterstützt von Haus aus Let’s Encrypt-Zertifikate. Diese lassen sich innerhalb der Zertifikats-Verwaltung erstellen. Dazu wechselt man innerhalb des DSM-Menüs in die Systemsteuerung, dann in Sicherheit.

Nun wechselt man in den Bereich Zertifikat. Hier werden dann die verschiedenen Zertifikate aufgelistet. Wenn man noch nie etwas mit Zertifikaten auf der DiskStation gemacht hat, steht hier nur das selbst unterzeichnete Synology-Zertifikat.

Um ein Let’s Encrypt-Zertifikat zu erstellen klickt man nun auf Hinzufügen und wählt anschließend Neues Zertifikat hinzufügen aus.

Jetzt wählt man den Menüpunkt Zertifikat von Let’s Encrypt abrufen aus.

Im Folgenden Dialog sind zwei Angaben zwingend.

  1. Der Domainname: Dieser muss offiziell, wie unter Voraussetzungen erwähnt, bei einem DNS-Anbieter registriert sein und die IP-Adresse sollte mit der WAN IP-Adresse Eures Internet-Routers übereinstimmen.
  2. Eine gültige Email-Adresse.

Solltet Ihr bereits wissen, dass neben der Nextcloud noch weitere Dienste, wie z.B. ein Nextcloud-Office oder ein WordPress-Blog läuft, so könnt Ihr diese DNS-Namen ebenfalls unter dem Feld Betreff Alternativer Name ins Zertifikat mitaufnehmen lassen. Das erspart Euch die Verwaltung mehrerer Let’s Encrypt-Zertifikate.
Es versteht sich von selbst, dass auch diese Domain-Namen bereits bei dem DNS-Dienst Eurer Wahl registriert sind und auf Euren Internet-Router zeigen. 😉

Sobald man auf Fertig klickt beginnt der Zertifikats-Abruf. Das kann manchmal bis zu einer Minute dauern, also etwas Geduld bitte.

Sobald Abruf abgeschlossen ist, erscheint das neue Zertifikat in der Übersicht.

Zum Abschluss muss man das neu erstellte Zertifikat noch der Nextcloud zuweisen. Hierzu klickt man auf Einstellungen und tauscht bei dem Domain-Namen Eurer Nextcloud das Synology-Zertifikat durch das soeben Erstelle aus.

Jetzt nochmals den Browser-Cache leeren oder die Nextcloud über ein privates Fenster aufrufen, dann sollte die URL-Zeile ohne Ausrufezeichen angezeigt werden.

Viel Spaß beim Nachmachen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert