nginx custom locations

nap

Lieutenant
Registriert
Nov. 2001
Beiträge
563
Hallo Leute, gleich voraus, bin was docker angeht blutiger Anfänger!

Aber Docker läuft schon mal :)

habe folgende container drauf: portainer, Nginx Proxy Manager, nextcloud und teamspeak.

habe eine dyndns domain bei spdyn.de.

meine frage ist nun, kann ich mit hilfe von nginx und eventuel "custom locations" es so konfigurieren, dass ich mit:
123.my-router.de/nextcloud_app_1 auf die nextcloud,
123.my-router.de/portainer auf den portainer,
123.my-router.de/NGINX_Proxy_Manager auf den Nginx Proxy Manager komme, ohne mir zig dydns adressen erstellen zu müssen die dann zb nextcloud.123.my-router.de oder portainer.123.my-router.de heißen?

habe das aktuell so konfiguriert:
domain.png


custom locations.png


ssl.png

1648497451940.png


leider öffnet sich keine nextcloud wenn ich 123.spdyn.de/nextcloud_app_1 eingebe, sondern der Nginx Proxy Manager.
oder geht das garnicht was ich mir vorstelle?

Gruß
 
Ich weiß nicht wie das mit dem Nginx Proxy Manager funzt, aber in meiner Nginx Config hab ich mal vor vielen Monden das selbe Problem gehabt.
Ich konnte es lösen, indem ich über einen rewrite den Pfad angepasst habe.
Du müsstest im Location Block noch folgendes unterbringen: "rewrite ^/nextcloud(.*) /$1 break;"
Bin mir mit der Syntax ehrlich gesagt nicht mehr ganz sicher, vielleicht kann sich da jemand zu Wort melden der mehr Ahnung hat als ich :) Aber einen Versuch wäre es ja wert.
 
  • Gefällt mir
Reaktionen: nap und madmax2010
Das sollte mit NPM auch funktionieren. Du musst nur die location richtig einstellen. Siehe bspw.:

https://serverfault.com/questions/3...x-that-works-with-and-without-a-trailing-slas

https://serverfault.com/questions/792326/nginx-proxy-pass-using-subfolder

https://github.com/NginxProxyManager/nginx-proxy-manager/issues/760

Alternativ auch mal einen Blick auf https://traefik.io/ werfen. Das ist zwar ein wenig komplizierter zum reinkommen, aber damit kannst du noch diverse andere Dinge realisieren, wie z.B. 2-Faktor-Authentifizierung etc. Als Inspiration ein kleines Homeserver-Projekt: https://www.smarthomebeginner.com/traefik-2-docker-tutorial/
 
  • Gefällt mir
Reaktionen: nap
@Malaclypse17

habe das so versucht
1648582338190.png

leider klappt das auch nicht.
 
Ja, habe da gestern bei mir auch ewig rumprobiert, es klappt für ein paar Dienste, aber andere funktionieren auf die gleiche Art wiederum nicht und das auch noch auf ganz verschiedene Weise.
Es kommt wohl auch noch darauf an, wie der Dienst im Container mit den Subdirectories umgeht, leider geht das auch über meine Kenntnisse hinaus, die Methoden von blablub1212 bin ich auch alle durchgegangen mit allenmöglichen verschiedenen Herangehensweisen.

Ich werde wohl weiterhin einfach auf Subdomains setzen, was zuverlässiger funktioniert, dir aber natürlich keine große Hilfe ist ...

Hier mal mein Beispiel aus meiner Config für Glances, was ohne Probleme funktioniert:

NGINX:
server {
        server_name pi.foobar.tld;
        location /glances/ {
                rewrite /glances/(.*) /$1  break;
                proxy_pass      http://<ip>:61208;
        }
Das gleiche Konstrukt angewendet auf z.B. Duplicati funktioniert allerdings schon wieder nicht, da einige Anfragen zu einem 404 führen, allerdings nicht alle.
 
Zuletzt bearbeitet:
@blablub1212
wenn ich diesen Ansatz probieren will:

location ~/app2(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001$1;
}

muss ich das so ändern?:

location ~/nextcloud_app_1(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://192.168.178.55:8080$1;
}

und vor allem wo soll das hin?
 
Mal anders gefragt, da du schon Docker laufen hast (auf einem Gerät im Heimnetzwerk?), wäre es nicht einfacher für dich, eine eigene Domain als DynDNS zu verwenden und diese über einen einfachen Docker Container bei Cloudflare zu betreiben?
Diese Umstellung habe ich vor kurzem gemacht und bin damit mehr als zufrieden.
 
Sorry @Malaclypse17 ich verstehe nur Bahnhoff 🥴
Hatte paar Sachen zu nginxpm einiges gesehen und es klang so logisch und passte super zu dem was ich wollte, nur es funktioniert nicht.

Werde eventuell den Tipp mit traefik noch probieren.
Und dann eventuell das mit cloudflare (muss da erst noch verstehen wie das genau laufen soll)
 
Um es kurz zusammenzufassen: du könntest dir für ein paar Euro eine Domain kaufen (wo es für dich am besten passt/am billigsten ist), DNS Server dann auf Cloudflare umstellen (Account auf Cloudflare ist kostenlos, ebenso die Nameserver Verwaltung durch Cloudflare).
Dann kannst du über Docker diesen Container laufen lassen "https://hotio.dev/containers/cloudflareddns/" , verwende ich im Moment auch und funktioniert super.
Der macht im Grunde nichts anderes, als alle 5 Minuten deine WAN IP Zuhause abzurufen und diese mit dem angegeben DNS Eintrag abzugleichen, wenn sich deine IP ändert, trägt es die neue automatisch über die Cloudflare API ein, sprich du hast eine eigene Domain und bist nicht mehr auf dritte DynDNS Anbieter angewiesen, ebenso kannst du Subdomains so anlegen wie du lustig bist.
 
Zurück
Oben