Nginx Proxy Manager

preview_player
Показать описание
Hier zeige ich wie man den NGINX Proxy Manager unter Docker installiert und konfiguriert. Er dient als Ersatz für den Synology Reverse Proxy.
#nginx #synology #docker #portainer

▸ Mitglieder erhalten 10% Rabatt auf Beratung

Kapitel:
00:00 - Start
02:34 - NPM Doku
04:31 - docker compose Skript
06:01 - Stack anlegen
09:27 - Volume Mapping
14:12 - Erste Anmeldung an der Web App
15:59 - SSL Zertifikat erzeugen
19:19 - DNS
21:30 - Proxyhost hinzufuegen

🟢 NEUE VERSION für Release ab 2.10
Рекомендации по теме
Комментарии
Автор

Endlich mal jemand der es fachlich richtig erklärt und auch den Header der Anfrage kennt und nicht nur Oberflächlich alles erzählt.

agent
Автор

Hallo Jürgen, habe mit Freude und Erfolg deine Anleitung zum NPM nachgebaut und auch zu allen Containern innerhalb und außerhalb des Hostes Verbindung aufbauen können. Etwas ging aber trotzdem nicht. Der Versuch eine Verbindung über NPM zu einem Dienst wie Synology-Drive, File oder Foto oder der DSM selbst über die eigene IP der Synology aufzubauen (z.B.: 192.168.1.x:5556 ) aufzubauen, endete immer mit der Meldung „Bad Gateway 502“. Erst als ich dem NPM-Container ZUSÄTZLICH zum macvlan noch ein Netz mit dem bridge-driver von portainer hinzugefügt habe, und dann im NPM die bridge-gateway-IP und die entsprechenden Zielports eingetragen habe, kam die Verbindung zustande. Also nicht 192.168.1.x mit Port 5556 sondern 172.17.0.1 mit Port 5556. Weshalb hier die virtuelle demo-shim versagt ist mir nicht ganz klar. Kann mir nur vorstellen, dass sie Verbindung zu den Containern schafft, aber nicht zu Diensten auf der Synology selbst. Liege ich da richtig, oder habe ich da einfach in meinem jugendlichem Eifer da schlicht was falsch gemacht?
Liebe Grüße!!

CKlatt-bmfc
Автор

Hy Jürgen. Ich brauche unbedingt deine Hilfe. Ich möchte unbedingt mein eigenes Google drive. Ich habe ein pi5 darauf läuft pihole+unbound+pivpn+ufw nativ. Dazu hab ich noch docker drauf mit nginx und filebrowser. Ich schaffe es nicht filebrowser mit nginx zu erreichen. Ich weiß nicht wo der fehler ist. Es wäre super wenn du mir helfen könntest

jurgennasswetter
Автор

Hallo Jürgen, ich bin nach dem Update von Version 2.9.19 auf 2.9.21 des NPM auf ziemliche Schwierigkeiten gestoßen. Nach dem Update konnte ich nach einem Neustart der DSM (ich schalte nachts ab) nicht mehr auf die Proxy Hosts zugreifen, obwohl der Container von NPM gestartet war. Erst nach einem Restart vom NPM im Pottainer lief wieder alles normal. Bei der Version 2.9.22 funktionieren nach einem Neustart der Synologie zwar die Proxy Hosts, aber man kann sich nicht mehr in die in die GUI vom NPM einwählen. Die darauf hin installierte neueste Version 2.10.0 versagte vollkommen den Dienst. Ich habe daraufhin einen Downgrade auf Version 2.9.19 gemacht, und seither läuft wieder alles wieder wie geschnitten Brot. Ich habe eine DS 916+ und es würde mich interessieren, ob auch andere diese Erfahrung gemacht haben. Beste Grüße und viel Glück beim Umzug wünscht Ingo.

CKlatt-bmfc
Автор

Hallo Jürgen, Danke für deine tollen Videos. Habe Nginx so installiert wie im Video, auch Macvlan läuft und Nginx hat eine eigene lokale IP. Allerdings musst ich die Ports 80 und 443 in meiner Fritzbox 7590AX auf den NGinx forwarden und kann sie nicht mehr wie beisher auf meine Diskstation durchleiten (geht immer nur an ein Zeilgerät Die Diskstation will aber auch Zertifkate erneuern und braucht auch die Ports 80/443. wie kann ich das realisieren das beide Geräte die Ports 80/443 bekommen oder hast du eine ganz andere Lösung?
Danke für konstruktive Hilfe.

KK-
Автор

Laut Video sollte die angepasste yml-Datei zum Downlaod zur Verfügung stehen - finde diese leider nicht 🙋‍♂

Don__Carlos
Автор

Hallo Jürgen
Vielen Dank für deine immer sehr gut erklärten Videos. Ich habe versucht den NPM einzurichten und habe auch das macvlan und den "Docker Host redet mit Container" gemacht. Aber irgendwie kann ich nicht auf die Sachen auf der Synology zugreifen. Ich versuche z.B. auf die Webstation mit Port 80 zuzugreifen aber es kommt immer "502 Bad Gateway". Den nginx Proxy Manager kann ich aber erreichen mit der definierten IP-Adresse und sehe dann die Begrüssungsseite. Auch kann ich Geräte in meinen Netzwerk erreichen auch von ausserhalb. Nur die Synology und was in den Docker Containern läuft ist nicht erreichbar.
Was mache ich falsch?

Ebenfalls das erstellen eines Zertifikats geht nicht. Da kommt folgende Fehlermeldung:
CommandError: Saving debug log to
An unexpected error occurred:
HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NameResolutionError(": Failed to resolve ([Errno -3] Temporary failure in name resolution)"))

at /app/lib/utils.js:16:13
at ChildProcess.exithandler (node:child_process:430:5)
at ChildProcess.emit (node:events:519:28)
at maybeClose
at ChildProcess._handle.onexit

Was könnte da falsch sein:

Liebe Grüsse

stephan
Автор

Hallo Jürgen, vielen Dank für die veilen aufschlussreichen und verständlichen Videos. Ich habe neben dem Macvlan jetzt auch Nginx, pihole und Unbound aufsetzen können. Was ich aktuell (ich habe eine Domäne, die ich gerne für das NAS nutzen möchte) nicht hinbekomme, ist das Wildcard Zertifikat für die Domäne. Ich bin bei Netcup und habe die Subs als A Record mit deren Skript erstellen lassen. Zwar führt eine Sub auch auf das NAS, aber die Domäne wäre schöner, weil ich (wie von Dir gezeigt) gerne mit mehreren Subs arbeiten möchte. Gibt es da Kniffe, wie ich das hinbekomme? Viele Grüße Christian

cfechner
Автор

Super Video! Ich versuche gerad verzeifelt Traefik in Kombination mit Nginx als Dockercontainer unter Synology ans laufen zu bekommen, leider erfolglos. Wenn es dazu ggf. ein Video geben würde, wäre ich total begeistert.

GLOMckiller
Автор

Ich habe alles so gemacht, auch das Bash-Script mit dem Erstellen der mvl-bridge, aber ich komme leider nicht auf die WebUI des NPM. Das Anpingen der IP des NPM klappt aber. Keine Ahnung was das schief läuft. Mein Synology NAS hat die neueste DSM Version.

rainerzufall
Автор

Leider findet man weder DynDNS noch Strato als DNS Provider in der Liste. Gibt es hierfür ein workaround oder muss ich mit tatsächlich tatsächlich noch bei einem weiteren Provider registrieren?

earlwoodhead
Автор

Ich möchte es über Maria DB machen und ich erhalte bei Portainer, wenn ich das Stack erstelle immer wieder die Fehlermeldung: bind mount failed: data/compose/11/mysql does not exists

Arctics
Автор

Hallo Jürgen, erst mal ein großes Lob für die Ausdauer und auch die Ernsthaftigkeit mit der du das betreibst… TOP!!!

Eine Bitte/Frage habe ich, speziell zu diesem Video aber auch andere…: Du zeigst immer auf verlinkte Videos bzw sagst du immer (Link auf andere Videos in der Beschreibung), jedoch vermute ich, dass diese Videos im Ursprung wo anders veröffentlicht wurden, wo muss ich da suchen?

Danke und VG
Rico

richammer
Автор

Ich glaube deinen Amazon key ist jetzt verbraucht... besser mal neu machen.
Gut beschrieben...auf die schon bei deinem anderen Video erstellten Zertifikate kann der Proxy nicht zugreifen? Geht das denn mehrere Zertifikate für die gleiche Domain?

maxmeyer
Автор

Super Video! Weist du zufällig wie man den Proxy-Host konfigurieren muss, damit die Weiterleitung zum DSM klappt?

jann.
Автор

Lieber Jürgen, erst einmal chapeaux zu Deinen Videos - optisch machen sie zwar anfangs wenig her, wenn man es mit den YT-Influencern vergleicht, aber inhaltlich sind sie der Burner! Danke also erstmal für all die guten Infos und lehrreichen Tests. Durch Dich bin ich ebenfalls zum Docker-Fan geworden - das macht es Laune und so ziemlich alles auf meiner NAS läuft mittlerweile in einem Container - praktisch für das ganze Heimnetz. Und da komme ich zu meinem Problem. Nach Deinen Videos habe ich die Kommunikation zwischen Containern und Host hinbekommen, die Pings gehen durch - was nicht klappt, egal ob mit nginx- proxy oder dem Synology-Reverse ist die namensauflösung. Ich lande immer wieder auf meiner web-page - als würde der angegebene Port nicht weiterlgeleitet werden. Könntest Du mir nen Tipp geben, woran das liegen könnte? Mercie bien! :)

ArmandPlessis
Автор

Gutes Video zum Einstieg. Ich nutze aktuell noch die Lösung von Synology, jedoch stoße ich mit WebSockets bei Vaultwarden an meine Grenzen, was ja mit NPM völlig unproblematisch sein soll. Sonst habe ich aber keine Probleme mit der Synology Lösung. Gedenke aber irgendwann auch mal umzusteigen. Leider geht nur eines von beiden, da man nur 1x Port 80 durchleiten kann.
Was ich aber auch nicht verstehe, warum ich einen DNS brauche, da doch NPM schon über die IP Adresse auf das Ziel hinweist. Das ist doch der Sinn des ReverseProxy. Und mit dem WildCard Zertifikat, kann ich ja theoretisch jeden beliebigen Namen vor der Domain setzen (FQDN), NPM würde dann weiter routen und das Zertifikat ist durch den Aussteller (CA) auch bereitgestellt. Vielleicht wäre ein Teil 2 (Deep Dive) ganz spannend.

tim
Автор

Mal wieder ein super Video von Dir, Jürgen. Klasse wie immer!!! ... Ich bilde mir ein, ich hätte alles installiert, wie von Dir beschrieben (ngnx + synology DNS Server + adguard). Wenn ich allerdings für einen host via nslookup die Auflösung abfrage, dann erhalte ich die IP von nginx (unter Docker) zurück. Sieht so aus, als würde die nginx einfach nichts tun. Hast Du spontan eine Idee, was ich noch versuchen könnte???

rainerroos
Автор

Wenn man auf der Diskstation Docker nutzen kann, dann ist der NGINX Proxy Manager definitiv die bessere Wahl!
Hatte anfangs auch auf den Synology internen gesetzt, aber es wahr echt mühselig. Automatische Umleitung von http auf https? Vergiss es mit dem Teil von Synology. Im NPM ganz easy umzusetzen.
Auch ein Vorteil vom NPM: Man kann Wildcard-Zertifikate einrichten (sofern es der Domainanbieter unterstützt). Interessant war, dass du beim Wildcard-Zertifikat zwei Domains eingetragen hast. Ich bin da bisher immer davon ausgegangen, dass immer nur eins eingetragen werden kann. 😇

Was ich aber nicht so ganz verstehe: Ich nutze keinen DNS-Server intern (auf der Synology). Einfach die IP-Adresse und den Port der jeweiligen Dockeranwendung im NPM angeben und fertig. Es funktioniert trotzdem ...

knotingo
Автор

Ich konnte, Jürgen, jetzt tatsächlich alle meine Clients in nginx einpflegen, und komme nach Aufruf im Browser immer schön über eine gesicherte Verbindung auf meine Endgeräte/Dienste. Klasse!!! Nur bei der Synology selbst funktioniert das nicht: da erhalte ich die Meldung "502 Bad Gateway". Ich vermute, ich muss da auf dem NAS noch was einstellen. Weisst Du spontan eine Lösung?

rainerroos