GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

Nginx Proxy Manager Synology NAS Einrichtungsanleitung!

Heute sehen wir uns an, wie Nginx Proxy Manager auf einem Synology NAS eingerichtet wird.

Wenn Sie Dienste in Ihrem Netzwerk verfügbar machen, ist die Verwendung eines Reverse-Proxys eine großartige Möglichkeit, die Sicherheit und Leistung zu erhöhen. Ein Reverse-Proxy ist ein Server, der vor Ihren Webservern sitzt und Client-Anfragen an die Webserver weiterleitet. Laienhaft ausgedrückt müssen Sie nur einen Server (über die Ports 80/443) verfügbar machen und können so viele Webdienste verfügbar machen, wie Sie möchten.

Dies ist ein Beispiel für den Netzwerkfluss eines Reverse-Proxys (vereinfacht):

Bitte denken Sie daran, dass dies eine Alternative zum Anwendungsportal von Synology ist, wo Sie einen Reverse Proxy einrichten können. Wenn Sie dies nur beabsichtigen Um einen Reverse-Proxy zu erstellen, sollten Sie stattdessen diesen verwenden, da keine Konfiguration erforderlich ist (außer den Reverse-Proxy-Einstellungen)!

1. Einrichtungsanleitung – Nginx Proxy Manager Synology NAS

Dieses Tutorial verwendet ein Synology NAS und Docker. Da Nginx Proxy Manager eine Datenbank verwendet, müssen wir zwei verschiedene Container installieren. Eine für unsere Datenbank und eine für Nginx Proxy Manager. Standardmäßig verwendet Synology die Ports 80 und 443, daher ist die Verwendung unserer Host-Netzwerkschnittstelle nicht ideal. Aus diesem Grund werden wir eine Macvlan-Netzwerkschnittstelle (in Docker) erstellen, die es uns ermöglicht, diesen Portkonflikt zu umgehen.

1. Installieren Sie Docker aus dem Paket von Synology Mitte .

2. Wir müssen einige Ordner erstellen, die wir unseren Docker-Containern zuordnen. Standardmäßig erstellt das Docker-Paket nach Abschluss der Installation einen Ordner namens Docker. Innerhalb dieses Ordners erstellen wir einen Ordner mit dem Namen mariadb und nginx-proxy .

3. Innerhalb des nginx-Proxys erstellen Sie zwei Unterordner mit dem Namen data und letsencrypt .

4. Erstellen und hochladen eine Datei namens config.json zum nginx-proxy Mappe. Diese Datei muss den untenstehenden Inhalt enthalten. Stellen Sie sicher, dass Sie SYNOLOGY_NAS_IP in die IP-Adresse Ihres Synology NAS ändern!

{
   "database": {
   "engine": "mysql",
   "host": "SYNOLOGY_NAS_IP",
   "name": "nginxproxymanager",
   "user": "nginxproxymanager",
   "password": "nginxproxymanager",
   "port": 3306
  }
}

5. Die Ordnereinrichtung ist abgeschlossen!

1.1 Einrichtung der Macvlan- und Bridge-Docker-Netzwerkschnittstelle

1. Stellen Sie sicher, dass Sie sich per SSH mit Ihrem Synology NAS verbinden können. Öffnen Sie Steuerung Panel , wählen Sie Terminal &SNMP aus , und aktivieren Sie SSH Service. Wenn Sie die Firewall von Synology verwenden, stellen Sie sicher, dass Sie Datenverkehr über Port 22 zulassen. Ich habe ein Video darüber erstellt, wie Sie bei Problemen eine SSH-Verbindung zu Ihrem Synology NAS herstellen können.

2. SSH mit Ihrem bevorzugten SSH-Tool in Ihr Synology NAS.

3. Wir müssen eine Docker-Macvlan-Netzwerkschnittstelle erstellen. Zuerst müssen wir feststellen, welche Netzwerkschnittstellen derzeit vorhanden sind (auf Ihrem Synology NAS) und den Adapternamen notieren. Führen Sie dazu den folgenden Befehl aus und notieren Sie sich den Namen der Netzwerkschnittstelle, die die IP-Adresse Ihres Synology NAS hat (in diesem Beispiel ist meine eth0).

ifconfig

4. Als nächstes müssen Sie den folgenden Befehl ausführen, während Sie das richtige Subnetz ersetzen (die meisten sind standardmäßig 192.168.1.0/24 oder 192.168.0.0/24). Sie müssen auch eine IP-Adresse auswählen, die Sie verwenden möchten, die derzeit nicht verwendet wird. Ich werde 192.168.1.198 verwenden. HINWEIS :npm_network ist der Name des Netzwerks (Sie können dies nach Belieben ersetzen).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 npm_network

5. Unser Netzwerk ist nun erstellt. Wir können jetzt unsere SSH-Sitzung beenden und sie in DSM deaktivieren (falls Sie sie nicht verwenden). Wenn Sie es deaktivieren und eine Firewall-Regel dafür erstellt haben, sollten Sie auch die Firewall-Regel deaktivieren.

6. Als nächstes müssen wir ein Bridge-Netzwerk erstellen. Dadurch kann unser Host (NAS) mit unserem Nginx Proxy Manager-Container kommunizieren. Öffnen Sie Docker und navigieren Sie zum Netzwerk Sektion. Wählen Sie Hinzufügen und geben Sie ein Subnetz ein, das derzeit nicht verwendet wird. Die IP-Adresse der Bridge, die ich erstelle, lautet 192.168.10.2.

7. Beide Netzwerkschnittstellen sind nun eingerichtet!

1.2 MariaDB-Installation und -Konfiguration

Nginx Proxy Manager erfordert die Einrichtung einer Datenbank, damit er ordnungsgemäß funktioniert. Obwohl Synology ein MariaDB-Paket anbietet, trenne ich es gerne, indem ich einen zweiten Docker-Container nur für die Datenbank erstelle.

1. Öffnen Sie Docker , navigieren Sie zur Registrierung , und suchen Sie nach MariaDB . Laden Sie die Neueste herunter Version von MariaDB .

2. Nachdem das Bild vollständig heruntergeladen wurde, navigieren Sie zum Bild Abschnitt und doppelklicken Sie auf mariadb um einen neuen Container einzurichten.

3. Geben Sie dem Container einen Namen und wählen Sie dann Erweitert aus Einstellungen .

4. Wählen Sie Automatischen Neustart aktivieren .

5. Im Volumen Wählen Sie im Abschnitt Hinzufügen aus Ordner und wählen Sie dann mariadb aus Ordner, den wir zuvor erstellt haben. Im Berg Pfad Geben Sie im Abschnitt /var/lib/mysql ein .

6. Im Hafen Einstellungen ändern Sie den lokalen Port in 3306 . HINWEIS :Wenn Sie einen anderen Port als 3306 verwenden müssen, müssen Sie die config.json aktualisieren Datei, die wir zuvor erstellt haben.

7. In der Umgebung Abschnitt müssen wir vier Variablen erstellen. Diese Variablen speichern unser Root-Passwort, den Datenbanknamen, den Benutzernamen und das Passwort. HINWEIS :Wenn Sie die folgenden Werte nicht verwenden möchten (nginxproxymanager), können Sie dies beliebig ändern. Stellen Sie einfach sicher, dass Sie die zuvor erstellte config.json-Datei mit den neuen Informationen aktualisieren.

8. Wählen Sie Übernehmen und erstellen Sie den Container. Die Datenbank ist nun erstellt!

1.3 Firewall-Setup – Nginx Proxy Manager Synology NAS

Da wir eine Macvlan-Netzwerkschnittstelle verwenden, gibt es keine Firewall-Regeln, die wir für Nginx Proxy Manager einrichten müssen. Der MariaDB-Container verwendet jedoch die Host-Netzwerkschnittstelle und benötigt aus diesem Grund eine Firewall-Regel, um Datenverkehr zuzulassen. Wenn Sie die Firewall von Synology noch nicht eingerichtet haben, habe ich ein Tutorial erstellt, wie Sie es tun können (und schlage vor, dass Sie es tun).

1. Öffnen Sie die Steuerung Panel , wählen Sie Sicherheit aus , dann Firewall . Wählen Sie Regeln bearbeiten aus und fügen Sie ein Zulassen hinzu Regel für Port 3306 . HINWEIS :Wenn Sie in der oben erstellten Datei config.json einen anderen Port verwenden, müssen Sie diesen Port anstelle von 3306 verwenden.

1.4 Einrichtung des Nginx Proxy Manager-Containers – Synology NAS

1. Öffnen Sie Docker , navigieren Sie zur Registrierung , und suchen Sie nach nginx-proxy-manager . Laden Sie die Neueste herunter Version von jc21/nginx-proxy-manager .

2. Nachdem das Bild vollständig heruntergeladen wurde, navigieren Sie zum Bild Abschnitt und doppelklicken Sie auf jc21/nginx-proxy-manager um einen neuen Container einzurichten.

3. Geben Sie dem Container einen Namen und wählen Sie Erweitert Einstellungen .

4. Wählen Sie Automatischen Neustart aktivieren .

5. Im Volumen Abschnitt müssen wir zwei Ordnerzuordnungen und eine Dateizuordnung erstellen. Wählen Sie Ordner hinzufügen aus und fügen Sie die Daten hinzu Ordner und fügen Sie den Bereitstellungspfad /data hinzu . Wählen Sie als Nächstes letsencrypt aus Ordner und fügen Sie den Bereitstellungspfad /etc/letsencrypt hinzu . Wählen Sie Hinzufügen aus Datei und wählen Sie die config.json aus Datei, die wir zuvor mit dem Mount-Pfad /app/config/production.json erstellt haben .

6. Unter Netzwerk , fügen Sie das npm_network hinzu und npm_bridge Netzwerken und entfernen Brücke.

7. Passen Sie den Port an Einstellungen wie das Bild unten sein. Wenn Sie 4443, 8080 oder 8081 für irgendetwas verwenden, können Sie die Ports auf etwas ändern, das derzeit nicht verwendet wird.

8. Wählen Sie Übernehmen und erstellen Sie den Container! Geben Sie dem Container ein paar Minuten Zeit und Sie sollten über die IP-Adresse npm_network und Port 81 auf das Webverwaltungsportal zugreifen können!

http://[npm_network]:81

2. Nginx Proxy Manager-Setup – Synology NAS

1. Melden Sie sich mit der E-Mail-Adresse [email protected] an und das Passwort changeme .

2. Wenn Sie dazu aufgefordert werden, ändern Sie Ihren Namen und Ihre E-Mail-Adresse und richten Sie dann Ihr Passwort ein.

3. Nginx Proxy Manager ist jetzt eingerichtet! Stellen Sie sicher, dass Sie Port 80 weiterleiten und 443 auf Ihrem Router zum macvlan Netzwerk, das wir oben erstellt haben.

FEHLER BEI GATEWAY

Bestimmte Leute erleben "Bad Gateway"-Fehler, wenn sie versuchen, sich anzumelden . Nach einer Weile der Fehlerbehebung (und einigen hilfreichen Vorschlägen in den Kommentaren) gibt es wirklich zwei Möglichkeiten, dies zu beheben :

1. Wenn Ihr NAS über mehrere NICs verfügt und Ihnen mehrere IP-Adressen zugewiesen sind, geben Sie in der Datei „config.json“ die andere IP-Adresse Ihres NAS ein.

2. Lassen Sie die standardmäßige Docker Bridge-Netzwerkschnittstelle mit beiden Containern verbunden und verwenden Sie diese IP-Adresse in der Datei config.json.

3. Verwenden von Nginx Proxy Manager

Jetzt, da wir Nginx Proxy Manager eingerichtet haben, ist es wichtig zu wissen, wie man ihn benutzt! Ich habe ein Tutorial erstellt, dem Sie folgen können und das Ihnen zeigt, wie Sie Plex verfügbar machen und ein SSL-Zertifikat einrichten. Das Tutorial ist ziemlich geradlinig, hebt aber hervor, wie Sie praktisch jeden Webserver schnell, einfach und sicher verfügbar machen können!

4. Fazit

Dies war ein ziemlich komplexes Tutorial, aber ich hoffe, dass es so aufgeschlüsselt ist, dass es leicht verständlich ist. Es ist nicht normal, dass Sie zwei verschiedene Docker-Container einrichten müssen, damit ein Container funktioniert, aber meiner Meinung nach ist dies der beste Weg, um Nginx Proxy Manager auf einem Synology NAS zum Laufen zu bringen.

Vielen Dank für das Lesen des Tutorials. Wenn Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentaren!


Docker
  1. Unterschied zwischen Podman und Docker.

  2. So stellen Sie eine Verbindung zu Localhost in einem Docker-Container her

  3. Hosten Sie den Unifi Controller selbst auf einem Synology NAS

  4. Docker für Mac:Die vollständige Installationsanleitung

  5. Docker unter macOS installieren

So installieren Sie den VLC Player auf Almalinux 8 / Rocky Linux 8

So installieren Sie NextCloud auf Debian 9 Stretch mit LAMP

So installieren Sie Drupal unter Linux Mint 20

Die 5 besten kostenlosen PDF-Editoren für Ubuntu Linux im Jahr 2022

So verarbeiten Sie Bilder im Stapelbetrieb mit Converseen in Ubuntu 20.04

Bewegen Sie die Maus mit vielen Zeilen in Google Chrome?