Synology NAS bietet einen Reverse Proxy an, der zum einen Adressen von Synology-Diensten umsetzen kann als auch Adressen von anderen Geräten und Diensten.
Das Ziel
Es sollen alle Dienste und Geräte ausschließlich über den Reverse Proxy der Synology im Internet über eure eigene Domain verfügbar gemacht werden.

Die Einrichtung von Portfreigaben auf der FRITZ!Box und der Synology NAS
Der Aufruf der Dienste und Geräte über eure eigene Domain funktioniert nur mit einer Portfreigabe auf der FRITZ!Box. Dort müsst ihr hinterlegen, über welchen Port ein jeder Dienst und ein jedes Gerät erreichbar gemacht werden soll.
Es gibt auf dem AVM-Router dabei eine Einschränkung, ein Port kann immer nur EINMAL für eine Freigabe für EIN Gerät verwendet werden.
Habt ihr z.B. zwei Webdienste, die jeweils über den Port 443 erreichbar sein sollen, ist eine solche Konfiguration auf der FRITZ!Box nicht möglich.
Eine Anleitung, wie Portfreigaben auf dem AVM-Router und der Synology erstellt werden, findet ihr hier in diesem Artikel
➡ Synology NAS aus dem Internet erreichbar machen über FRITZ!Box und Reverse Proxy
Ein Beispiel
An Hand eines Beispiel lässt sich die Konfiguration besser erklären.
Ihr habt eine Synology NAS in eurem Netzwerk am Start, die über einen Reverse Proxy verfügt. Auf der Synology NAS habt ihr einige Dienste am laufen, von denen ihr einen oder mehrere über eure eigene Domain im Internet zum Abruf bereitstellen möchtet.
Für das Beispiel nehmen wir für die Synology NAS die folgenden Details an
- Gerätename: synologynas
- IP-Adresse: 192.168.xxx.5
- Freizugebender Dienst: File Station per https auf Port 5001
- Domain: meinesynologynas.de
Zusätzlich dazu habt ihr in eurem Netzwerk einen Nextcloud-Dienst auf einem Raspberry Pi laufen, die auch über eine eigenen URL aus dem Internet erreichbar sein soll.
- Gerätename: raspberrypi
- IP-Adresse: 192.168.xxx.8
- Freizugebender Dienst: Nextcloud auf Port 443
- Domain: meinesynologynas.de
Portfreigabe auf der FRITZ!Box
Wie in meinem Beitrag Synology NAS aus dem Internet erreichbar machen über FRITZ!Box und Reverse Proxy beschrieben, muss für jeden der beiden Dienste eine eigene Portfreigabe erfolgen.
Aber in diesem Fall nehmen wir die Portfreigabe NUR für das Gerät „synologynas“ vor. Das Gerät „raspberrypi“ bekommt KEINE Portfreigabe.
Für den Dienst „File Station“ erstellen wir die folgende Freigabe:

Es wird nach EXTERN der Port 60000 freigegeben und nach INTERN der Port 60000 für das Gerät synologynas.
Für den Dienst „Nextcloud“ sieht die Freigabe so aus.

Es wird nach EXTERN der Port 443 freigegeben und nach INTERN der gleiche Port 443 für das Gerät synologynas.
Ihr habt damit zwei Portfreigaben für das Gerät „synologynas“ auf der FRITZ!Box eingerichtet.
Gib mir gerne einen Kaffee ☕ aus!
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj
Synology Reverse Proxy
De Portfreigaben sind auf dem Router bereits konfiguriert, finden aber noch nicht den entsprechenden Dienst der über das Internet erreichbar gemacht werden soll.
Die interne Zuweisung auf den richtigen Port erfolgt durch den Reverse Proxy der Synology NAS.

File Station – Reverse Proxy Regel
Die Reverse Proxy Regel für den Synology File Station Dienst auf Port 5001 sieht dann so aus:
Eure Nextcloud erreicht ihr dann ganz unkompliziert über die Adresse https://meinesynologynas.de
Die File Station erreicht ihr dann unter Angabe des Port über die Adresse https://meinesynologynas.de:60000
Nextcloud – Reverse Proxy Regel
Die Regel für die Nextcloud verweist auf die IP-Adresse des Raspberry Pis und auf den Port auf dem Nextcloud lauscht, in diesem Fall 443.

Durch den Umweg durch den Synology Reverse Proxy, wird ein vorhandenes Let´s Encrypt-Zertifikat auf der Nextcloud in eurem Browser ggf. nicht mehr als sicher eingestuft.
➡ Synology – Failed to connect to Let’s Encrypt. Please make sure the domain name is valid.
In der /var/www/html/nextcloud/config/config.php der Nextcloud müsst ihr ggf. noch die Adresse „meinesynologynas.de“ eintragen, wenn ihr diesen Fehler erhaltet.
➡ Nextcloud und Let´s Encrypt

Photo by Alex Cheung on Unsplash

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
Port 60000 in der Fritzbox freigegeben Richtung Diskstation. Reverse Proxy aktiviert mit https-Weiterleitung als http auf interne IP-Adresse Port 17004. Firewall der Diskstation geöffnet für Port 60000. Firewall der internen IP-Adresse geöffnet für Port 17004.
Antwort auf https://diskstation:60000 von nginx: 400 Bad Request
The plain HTTP request was sent to HTTPS port
Wo muss ich was ändern?
Hallo Gunnar,
hast du in der Systemsteuerung die Umleitung von http auf https eingerichtet? Vielleicht liegt es daran?
Systemsteuerung –> Netzwerk –> DSM-Einstellungen –> HTTPS-Verbindung für DSM-Desktop automatisch zu HTTPS umleiten
Grüße
Stefan
Daran habe ich auch gleich gedacht, aber das ist nicht der Fall. Allerdings läuft auf der Zielmaschine Docker und was die Docker-Anwendung macht, kann ich nicht erkennen. Vermutlich ist dort auch so eine Umleitung auf https aktiviert.
Moin und danke für den Artikel,
1. Warum hast du deine internen IPs ausgepixelt? Damit kann doch keiner was anfangen.
2. Habe ich einen Denkfehler oder könnte man o.g. Szenario einfacher umsetzen?
Also anstelle
WWW(:443)–>Fritzbox –> NAS –> Raspi?
einfach direkt
WWW(:443) –>Fritzbox –> Raspi
3. Dann könntest du auch die filestation auch ohne Reverse Proxy nutzen, einfach in der Fritzbox eine Portweiterleitung von 60000 extern auf intern 5001 einrichten
WWW:60000 –> Fritzbox –> Filestation
Oder willst du mit anderen domains die Ports 443 und 60000 für andere Dienste nutzen?
Hallo Martin,
die internen IP-Adressen sind verpixelt. Ich hoffe damit ist es leichter nachzuvollziehen als mit meinen IPs.
Du hast auch recht, dass es auch ohne Synology geht. Jedoch kannst du dann u.a. sehr einfach die Firewallregeln der Synology für externe Geräte nutzen.
Auch kannst du damit mehrere Domains verwenden, wie du bereits geschrieben hast.
Grüße
Stefan
Hallo Stefan,
in meinem Docker habe ich einen Bitwarden-Server laufen, der horcht auf den Port 443 und Quelle ist meine Subomain bitwarden.meinedomain.de
Wenn ich nun auf meine Nextcloud über Reverse Proxy die Quelle cloud.meinedomain.de auch über Port 443 gehe, kann das dann überhaupt funktionieren?
Für die Nextcloud habe ich einen virtuellen host namens nextcloud eingerichtet
Hallo Volker,
dein AVM Router kann die Portweiterleitung 443 nur auf ein definiertes Gerät in deinem Netzwerk. Die Verwendung des Ports 443 über den Router für zwei Geräte ist nicht möglich.
Du kannst also entweder deine Nextcloud über 433 oder deinen Bitwarden über 443 ansprechen.
Mit Sub-Domains und auch mit einem Reverse Proxy auf der Synology sollte es jedoch möglich sein die Weiterleitung entsprechend einzustellen.
Wenn du Let´s Encrypt Zertifikate für deine (Sub-)Domains auf der Synology verwaltest, dann solltest du das unbedingt gleich mit berücksichtigen. Das macht dir die Verwaltung und die Aktualisierung wesentlich einfacher.
Viele Grüße
Stefan
Hallo Stefan,
besteht hier die Möglichkeit, den HTTP-Zugriff mit Nutzername und Passwort abzusichern?
Diese Möglichkeit hatte ich mit meinem Nginx-Reverseproxy auf einem separaten Raspberry realisiert. Jetzt möchte ich das mit der Diskstation umsetzen.
Viele Grüße, Tilo
Hallo Tilo,
meinst du zusätzlich zur eigentlichen Anwendung möchtest du noch eine weitere Verifikationsebene auf dem Reverse Proxy einziehen?
Ob und wie das auf dem Synology funktioniert, kann ich dir nicht sagen.
Grüße
Stefan
Super infos, danke!
Ich bin gerade über den Artikel gestolpert, weil ich gerade mit dem Reverse Proxy etwas hadere.
Funktionierender Eintrag:
Beschreibung: Portainer
Quelle
Protokoll: HTTPS
Hostname: portainer.XXXyyy.synology.me
Port: 443
HSTS akitviert
HTTP/2 aktiviert
Ziel
Protokoll: HTTP
Hostname: localhost
Port: 1080
Der Eintrag funktioniert super. Über die Subdomain komme ich ohne Portangabe beim Aufruf von außen auf meine Portainer-Instanz. Auch der Port 1080 ist in der Fritz!Box nicht freigegeben.
Nicht funktionierender Eintrag:
Beschreibung: ecoDMS
Quelle
Protokoll: HTTPS
Hostname: dms.XXXyyy.synology.me
Port: 443
HSTS akitviert
HTTP/2 aktiviert
Ziel
Protokoll: HTTP
Hostname: 172.16.150.50
Port: 80
Der Eintrag funktioniert leider gar nicht. Ich lande dann auf der Seite der Synology mit dem Port für das DSM.
Hast du eine Idee, woran das liegen kann?
Beim Dokumentieren kommt mir die Idee, mal für den zweiten einen anderen Port zu definieren. Ich gebe Bescheid, wenn ich das ausporbiert habe 🙂
Also, nur das Ändern des Ports hat leider nicht funktioniert. Ich wollte aber auch keine weiteren Ports in der FritzBox freigeben.
Gelöst habe ich das jetzt, in dem ich den Docker-Container, der für den zweiten problematischen Dienst läuft umkonfiguriert habe.
Vorher lief dieser mit macvlan als Netzwerkinterface und hatte daher seine eigene IP. Vorteil: Keine Port-Konflikte auf der Synology. Trotzdem habe ich das jetzt auf bridge geändert und den Port entsprechend gemappt. Jetzt funktioniert auch der Zugriff per Sub-Domain über den Reverse Proxy / Anwendungsportal.
Nur das Thema der Zugangskontrollprofile funktioniert nicht so, wie ich es gerne hätte, aber das ist ein anderes Thema.
Hallo Stefan,
vielen Dank für die tollen Anleitungen. Bei mir funktioniert es teils und teils nicht, vielleicht hat ja jemand eine Idee. Ich verwende DSM 7.
Ich erreiche meine Diskstation genau wie in Deiner Anleitung beschrieben wenn ich den Port angebe- ich würde es aber auch gerne ohne Angabe des Ports über den Reverse Proxy schaffen.
Von meiner Fritzbox ist der Port 443 und 80 an meine Diskstation freigegeben. Auf der Diskstation läuft der Reverse Proxy von Synology und außerdem Docker mit einem Vaultwarden container.
Wenn ich jetzt bitwareden.meinedomain.org eingebe leitet der Reverse Proxy die Pakete über HTTP an den Localhost Port 5151 (vaultwarden) weiter.
Wenn ich nas.meinedomain.org eingebe sollte der Reverse Proxy Pakete über HTTP an den localhost Port 6001 (mein DSM HTTP Port) weiterleiten. Das klappt aber nicht. Habe ich da etwas grundliegendes nicht verstanden? Ich dachte der Reverse Proxy sollte die über 443 eingehenden Daten von verschiedenen Subdomains an verschiedene Ports verteilen können?
Vielen Dank für Eure Hilfe,
Sebastian
Hallo Stefan,
vielen Dank für die super Anleitungen. Ich habe eine Frage- Wäre es nicht auch möglich, eine subdomain wie nas.meinedomain.org über Port 443 anzusprechen, so dass der Reverse proxy eingehende requests an den localhost Port 5000 (DSM HTTP) weiterleitet? Dann könnte man sich die Angabe des Ports sparen. Leider klappt das allerdings bei mir nicht.
Deine Anleitung funktioniert dagegen einwandfrei und ich erreiche unter Angabe des Ports meine Diskstation.
Vielen Dank für die Hilfe, ich hab Dir einen Kaffee zukommen lassen 😉
Sebastian
Ich habe eine Lösung gefunden. Im Reverse Proxy musste ich den Eintrag nas.meinedomain.org wieder löschen. Anschließend unter der Systemsteuerung – Abmeldeportal unter „Benutzerdefinierte Domain“ die gewünschte Subdomain, in meinem Fall nas.meinedomain.org eingeben. Dann ein Zertifikat für die Subdomain erstellen und dem Dienst „nas.meinedomain.org“ zuweisen. Jetzt kann ich die Subdomain ohne Angabe eines Ports erreichen. Wie gesagt, über Reverse Proxy war das leider, warum auch immer, nicht möglich.
Hallo Sebastian,
vielen Dank für dein Feedback!
Super das es noch funktioniert hat ?
Grüße
Stefan
Wie müsste der Reverse Proxy Eintrag denn aussehen, wenn ich NextCloud nicht direkt auf der Synology installiert habe sondern in einer Ubuntu-VMM unter einer anderen IP-Adresse?
Klar, das was du hier gezeigt hast, funktioniert natürlich und ich komme auch in meine NextCloud.
ABER: In der Verwaltung > Übersicht bekomme ich dann folgende Info:
„Du greifst über eine sichere Verbindung auf Deine Instanz zu, Deine Instanz generiert jedoch unsichere URLs. Dies bedeutet höchstwahrscheinlich, dass Du Dich hinter einem Reverse-Proxy befindest und die Konfigurationsvariablen zum Überschreiben nicht richtig eingestellt sind. Bitte lese die Dokumentation hierzu.“
Den letzten Satz hab ich natürlich berücksichtigt und in der Dokumentation gelesen. Aber ich habe keine Möglichkeit, die dort bereitgestellten Ergänzungen für den Reverse Proxy anzulegen.
Bin jetzt aber auch nach fast zwei Wochen NextCloud-Installationsversuche auch ratlos und stehe womöglich irgendwo in einem Wald, wo ich die Bäume nicht mehr sehe, auf dem Schlauch, wie ich das jetzt beheben könnt.
Hast du da vielleicht eine Idee bzw. einen Zaunpfahl, der mich wieder auf den richtigen Pfad winkt?
Hallo Ingo,
Du musst nicht durch den Reverse Proxy deiner Synology gehen, wenn du Nextcloud auf einem anderen Gerät installiert hast.
Du kannst mit deinem Ubuntu alles selbst so einstellen, wie du es für deine Nextcloud haben möchtest.
In deiner FRITZ!Box machst du für dein Ubuntu/Nextcloud eine Portweiterleitung auf Port 443.
Für deine Synology-Dienste kannst du weiterhin mit dem Reverse Proxy verwalten.
Eine vollständige Anleitung zu deiner eigenen Nextcloud findest du hier in meinem Blog
➡ Schritt-für-Schritt zur eigenen Nextcloud
Die aktuellste Version der Anleitung findest du auf Codeberg
➡ https://codeberg.org/strobelstefan.org/nextcloud-installation-configuration
Ich hoffe das hilft dir weiter!
Viel Erfolg!
Stefan
Hallo Stefan,
danke fürs schnelle Antworten.
Da hab ich jetzt glaub ich einen Knoten im Hirn…
Man kann doch den Port 443 nur einem Client weiterleiten?
Wenn ich jetzt in FRITZ!Box den Port 443 ebenfalls an die Ubuntu VMM weiterleite, dann vergibt die Box einen alternativen Port.
Klar, ich könnt dann über https://meinedomain.tld:Port von außen drauf zugreifen. Aber die Portangabe möchte ich eigentlich vermeiden. Wäre ja dann wieder ein zusätzliches Tor, was ich dann aufmache.
Würde ich den 443 nicht mehr an die DiskStation weiterleiten, sondern an die Ubuntu VMM, wäre zwar die Nextcloud erreichbar, dafür aber die anderen Synology-Dienste und auch die Oberfläche meiner Wetterstation nicht mehr.
Daher denke ich, werd ich um den Reverse Proxy nicht drum herum kommen. Ich will ja nicht die Synology Dienste durch die Nextcloud ersetzen.
Oder hab ich da was übersehen?
Hallo Ingo,
Da ist genau richtig, wie du es beschrieben hast.
Die FRITZ!Box kann nur einmal einen Port (in deinem Fall 443) an ein definiertes Gerät (deine Synology) weiterleiten.
Für deine Nextcloud musst du dann einen andere Port verwenden.
Zu beachten ist, dass die FRITZ!Box Ports und keine Domains handeln kann.
Damit bleibt dir aus meiner Sicht nichts anderes übrig, als die Ports im Router zu öffnen und an das jeweilige Gerät zu leiten.
Ob du nun den Port 443 zuerst an deine Synology weiterleitest und dann versuchts über den Reverse Proxy an dein Ubuntu zu schicken oder direkt an deine Nextcloud schickst musst du entscheiden.
Ich würde dir empfehlen den Port 443 für die Nextcloud zu verwenden und andere Ports für die Synology Dienste.
Wenn du Zertifikate (z.B. Lethes Encrypt) verwenden möchtest, ist temporär auch der Port 80 für jedes Gerät für die Zeit der Beantragung und Erneuerung zu öffnen.
Synology – https://strobelstefan.org/2020/09/02/synology-failed-to-connect-to-lets-encrypt-please-make-sure-the-domain-name-is-valid/
Nextcloud – https://strobelstefan.org/2019/04/22/lets-encrypt-problem-binding-to-port-80-could-not-bind-to-ipv4-or-ipv6/
Ich hoffe das hilft dir bei deiner Entscheidung.
Viel Erfolg!
Stefan
Hallo,
ich möchte mit dem Syno Revers Proxy gerne meinen MQTTbroker/server auf meinem SynoNAS von extern ansprechen über eine Domäne die ich im entsprechenden MQTTclient eingebe.
Soweit ich das checke wird hier aber mqtt:// statt http:// oder https:// verwendet. D.h. der MQTTclient wählt mqtt://meineDomain.de:27777 -> mein Router leitet den Port 27777 an mein NAS dort sollte dann der Revers Proxy die Anfrage an die intere IP Port 1883 weiterleiten, aber das scheint nicht zu klappen. Kriege keinen Connect. Kann da jemand helfen. Vielen Dank.