Synology Reverse Proxy für mehrere Dienste oder Geräte verwenden – Teil 2

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.

Synology NAS Reverse Proxy - Das Ziel
Synology NAS Reverse Proxy – Das Ziel

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

Angebot Synology DS218 2-Bay-Desktop-NAS-Gehäuse
Angebot WD Red 1TB 3.5' NAS Interne Festplatte - 5400 RPM -...

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

  1. Gerätename: synologynas
  2. IP-Adresse: 192.168.xxx.5
  3. Freizugebender Dienst: File Station per https auf Port 5001
  4. 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.

  1. Gerätename: raspberrypi
  2. IP-Adresse: 192.168.xxx.8
  3. Freizugebender Dienst: Nextcloud auf Port 443
  4. 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:

FRITZ!Box - Portfreigabe für File Station
FRITZ!Box – Portfreigabe für File Station

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.

FRITZ!Box - Portfreigabe für Nextcloud
FRITZ!Box – Portfreigabe für Nextcloud

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.

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.

Synology Reverse Proxy
Synology Reverse Proxy

File Station – Reverse Proxy Regel

Die Reverse Proxy Regel für den Synology File Station Dienst auf Port 5001 sieht dann so aus:

Reverse Proxy Regel für File Station
Reverse Proxy Regel für File Station

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.

Reverse Proxy Regel für Nextcloud
Reverse Proxy Regel für Nextcloud

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

Nextcloud - Zugriff über eine nicht vertrauenswürdige Domäne
Nextcloud – Zugriff über eine nicht vertrauenswürdige Domäne

Photo by Alex Cheung on Unsplash

(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

12 Antworten auf „Synology Reverse Proxy für mehrere Dienste oder Geräte verwenden – Teil 2“

  1. 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?

    1. 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

      1. 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.

  2. 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?

    1. 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

  3. 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

    1. 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

  4. 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

    1. 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

  5. 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 🙂

    1. 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.

Schreibe einen Kommentar

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