February 23, 20251 yr Guten Abend zusammen, vielleicht könnt ihr mir ja auf die Sprünge helfen. Ich möchte einige Dockercontainer, u.a. homarr, intern via HTTPS erreichen. Am einfachsten, so dachte ich, verwende ich den NPM dafür, da ich NPM eh im Einsatz für den externen Zugriff habe. Fix ein Zertifikat erstellt, in NPM eingefügt und einen neuen Host für homarr erzeugt. IP des Unraid Servers, Port des homarr-Containers - und im DNS Server den Namen Dashboard auf die IP des Unraid-Servers geleitet. Soweit so gut, nur komme ich via Browser immer lediglich auf die Unraid-Weboberfläche. Es ist so, als würde NPM gar nicht greifen und mich nicht zum Dockercontainer umleiten. Ich will die Container lediglich intern im Netz erreichen, nicht außerhalb. Habt ihr eine Idee, wie ich das am charmantesten lösen kann? Lieben Dank im Voraus.
February 23, 20251 yr 14 minutes ago, Mimika said: im DNS Server den Namen Dashboard auf die IP des Unraid-Servers geleitet. Müsste doch eigentlich aber an die IP von npm geleitet werden?!
February 23, 20251 yr Author 5 minutes ago, jj1987 said: Müsste doch eigentlich aber an die IP von npm geleitet werden?! Der NPM hat die gleiche IP wie der Unraidserver, da ebenfalls Dockercontainer.
February 24, 20251 yr Community Expert 8 hours ago, Mimika said: Der NPM hat die gleiche IP wie der Unraidserver, da ebenfalls Dockercontainer. Aber doch wohl nicht dieselben Ports... Der NPM ermittelt die Weiterleitungen anhand der Hostnamen, Du darfst also die internen Seiten dann nicht über IP Adresse aufrufen, sondern musst den Namen nehmen. (Warum jemand allerdings intern unbedingt verschlüsseln will, erschliest sich mir nicht ?!?!?) Und bei den Namen musst Du aufpassen, sie müssen ÜBERALL auflösbar sein, nicht nur intern! Es ist also quasi unmöglich, über NPM einen Host einzubinden, der NICHT über Internet erreichbar ist. (Wenn Die Auflösung / Weiterleitung nicht funktioniert, landest Du je nach Einstellung im NPM entweder auf der "Homepage", einer Fehlerseite oder auf einer zentralen Umleitungsseite. Aber das hast Du ja inzwischen selber rausgefunden 🙂 ) Edited February 24, 20251 yr by MAM59
February 24, 20251 yr Community Expert Ich mache das so bzw in dem Thread sind noch weitere Lösungsvorschläge:
February 24, 20251 yr Author 14 hours ago, MAM59 said: (Warum jemand allerdings intern unbedingt verschlüsseln will, erschliest sich mir nicht ?!?!?) Weil ich intern einige Seiten habe und es nervig ist, wenn man bestätigen muss, dass die Verbindung unsicher ist. 14 hours ago, MAM59 said: Und bei den Namen musst Du aufpassen, sie müssen ÜBERALL auflösbar sein, nicht nur intern! Es ist also quasi unmöglich, über NPM einen Host einzubinden, der NICHT über Internet erreichbar ist. Das erklärt es... schade 2 hours ago, mgutt said: Ich mache das so bzw in dem Thread sind noch weitere Lösungsvorschläge: Oh, danke. Ich schaue es mir auf jeden Fall an.
February 24, 20251 yr Community Expert 11 minutes ago, Mimika said: Das erklärt es... schade na ja, ist ja auch logisch, oder? Du willst die Zertifikate von Letsencrypt. Wo sind die? richtig: im Internet Wie werden die überprüft bei der Ausstellung/Verlängerung? richtig: per Rückwärtsverbindung des Zertifikatiservers (aka: Die prüfen, ob es den Host auch gibt und ob er erreichbar ist). Somit geht das Ganze nur, für "offene" Systeme. (Du kannst allerdings auch die Lebenszeit damit verwenden, rauszukriegen, von welchen Adressen die Tests kommen und nur die im Firewall durchlassen, aber, das ist wahrscheinlich ein sehr müssiges und fehlerträchtiges Unterfangen) Kurzum: man kann nicht alles haben 🙂
February 24, 20251 yr Author 2 minutes ago, MAM59 said: Du willst die Zertifikate von Letsencrypt. Ne, die Zertifikate meiner CA würden hier gänzlich ausreichen Allerdings kann ich via DNS nicht auf Ports leiten, das ist das blöde dabei. Daher dachte ich, wenn ich via Name auf die IP des Unraids komme, dass der NPM mit meinem intern ausgestelltem Zertifikat die Weiterleitung (und zwar als sichere Verbindung) zu den entsprechenden Dockercontainer übernimmt. Aber offenbar geht es leider nur übers Internet.
February 24, 20251 yr Community Expert Solution 2 minutes ago, Mimika said: Ne, die Zertifikate meiner CA würden hier gänzlich ausreichen Aber die kannste gar nicht in NPM installieren. Da musse Dir dann schon was Eigenes basteln. NPM ist ja eigentlich nur ein NGINX mit CERTBOT und ein paar Skripten, die die Konfigurationsdateien für NGINX automatisch erzeugen (und per cron den Certbot aufrufen um das Renew zu machen). Ist kein Hexenwerk. Das Namensproblem bleibt Dir aber trotzdem. Der Reverse Proxy nimmt ja alle Verbindungen über dieselber Adresse/Port an und unterscheidet immer nur nach Namen in der Anforderung wohin er weiterleiten soll.
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.