Frage zum NPM


fir3drag0n
Go to solution Solved by Archonw,

Recommended Posts

Guten Abend,

 

Ich habe eine Frage zum NPM und der Funktionsweise. Der NPM ist für Port 80 und 443 eingerichtet und zeigt über ein DNS und gemappten Port auf einen Nextcloud Container. Das funktioniert auch mittlerweile.

 

Jetzt wollte ich mir zusätzlich noch Vaultwarden einrichten und mir ist nicht klar, ob ich dafür auch die bestehende Subdomain nutzen kann oder dafür dann extra eine neue anlegen muss. Weil wenn ich in NPM den anderen Port von Vaultwarden eingeben will, dann sagt mir NPM, die Subdomain existiert schon. Tut sie ja auch, nur will ich sie ja explizit über einen anderen Port aufrufen. Kann ich sowas überhaupt umsetzen, falls ja wo Stelle ich das in NPM ein?

 

Viele Grüße vorab

fir3drag0n

Link to comment
  • 1 month later...

Du hast da ein Verständnisproblem.

 

Erstmal hast du deine.domain.de, der auf welchem Weg auch immer deine öffentliche IP-Adresse gegeben hast. Im Internet gibt es exakt ein Gerät was diese IP-Adresse besitzt: Dein Router. Alle Anfragen an deine.domain.de, also deiner öffentliche IP, landen nun bei dem. Der hat in Richtung Internet keine Ports offen. Würdest du also deine.domain.de versuchen zu laden, prallen die an diesem ab.

 

Nun gehst du hin und öffnest zB Port 443 und leitest die weiter an deinen Server. Dh immer wenn jemand URLs mit "https" (= Port 443) lädt, landet er auf deinem Server.

 

Jetzt sagen wir mal du hast nichts auf deinem Server installiert. Dann landen zwar "https" URLs bei deinem Server, aber der hat eben keinen entsprechenden Port offen. Also blockt diesmal nicht der Router, sondern dein Server die Anfragen ab.

 

Das ist natürlich blöd, also installierst du dir NPM und lässt den auf Port 443 lauschen. Fein. Jetzt verarbeitet NPM alle https Anfragen, die an deine öffentliche IP gerichtet werden. Und ja, ich meine alle. Selbst wenn jemand seine eigene.domain.de aufsetzt und da deine öffentliche IP hinterlegt. Oder auch wenn jemand einfach nur https:// mit deiner öffentlichen IP aufruft. Man landet immer bei NPM. NPM zeigt dann die "Willkommensseite" an, weil es aktuell für keine Domain eine Konfiguration gibt.

 

Also fügst du deine.domain.de hinzu und sagst wohin der Traffic gehen soll, der an diese Domain gerichtet wird. Sagen wir an Nextcloud, welcher auf 8666 lauscht. Du rufst nun deine.domain.de über https auf und landest auf Nextcloud. Ziel erfüllt.

 

Jetzt hast du aber nur deine.domain.de und willst auch noch Plex über Port 32400 erreichbar machen. Du gibst also deine.domain.de:32400 ein. Wo landet nun deine Anfrage? Beim Router. Und was macht der bei Anfragen auf Port 32400? Nichts. Der Port ist ja zu.

 

Du könntest nun den Fehler machen und Port 32400 öffnen und auf Port 32400 deines Servers leiten. Was passiert dann? Nimmt dann NPM die Anfrage entgegen? Nein. Stattdessen landet man direkt beim Plex Container. Du umgehst also den Proxy.

 

Ist das schlimm? Eigentlich schon. Erst mal verkomplizierst du das Setup, weil du ja für jeden Container Ports aufmachen müsstest. Du müsstest auch für jeden Container selbst überlegen wie du die SSL Zertifikate hinterlegt bekommst. Auch hast du keine zentrale Stelle wie NPM, wo du evtl was blockieren kannst. Und zuletzt wird es für den Nutzer komplizierter, weil er ständig den Port hinter die Domain packen muss. Davon abgesehen unterstützt auch nicht jeder Container https. zB der offizielle Nextcloud Container lauscht ausschließlich auf dem Port 8666 über http, weil er davon ausgeht, dass man einen Proxy davor schaltet.

 

 

Was du vor hast, macht also keinen Sinn. Du brauchst mehrere Subdomains, damit du den höchsten Komfort, die bessere Sicherheit und den geringsten Aufwand hast. Ich habe meine Domain zB bei All-Inkl, wo ich die DDNS Subdomain "home.domain.de" mit meiner öffentlichen IP versorge:

image.png.9a7c349f23b4630ca0a676f68069795a.png

 

und in den DNS-Einstellungen habe ich alle meine Subdomains hinzugefügt, die per CNAME auf dei DDNS Domain verweisen, so dass alle die selbe IP hinterlegt haben:

image.png.008b25f264277ad5cfec94be9491e413.png

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.