Angenommen ich habe Domain Pizzasebastian.de und mehrere Dienste auf meinem Server (192.168.178.69) auf Port 2000 - 2010 laufen.
Kann ich das irgendwie so verknüpfen dass Ich z.b. folgendes habe:
Dienst1.pizzasebastian.de -> 192.168.178.69:2002
Dienst2.pizzasebastian.de -> 192.168.178.69:2005
(Ohne das nur stumpf weitergeleitet wird, im Browser sollte schon die Domain stehen)
Die Addresse sollte aber auch nur aus dem Netz erreichbar sein, also ich möchte kein Port dafür öffnen (oder ähnliches)
Du brauchst einen proxy der auf Port 80 (oder 443 mit SSL) hört. Der Proxy leitet dann auf die Dienste weiter. Recht einfach zu konfigurieren ist der Nginx Proxy Manager https://nginxproxymanager.com/
Dann musst du noch einen lokalen DNS Eintrag setzen: ein A Record von *.Pizzasebastian.de auf die IP Adresse. DNS kannst du in einigen Routern direkt setzen. Alternativ kannst du auch einen pihole nutzen.
Wenn du lokal mit caddy arbeiten willst musst du aber das automatische https umgehen, das funktioniert nur wenn caddy auch richtig von außen erreichbar ist. Für .local geht das nicht. Um das funktieren zu lassen schreib einfach
Hat den Vorteil, dass beliebige, auch ausschließlich lokale Subdomains genutzt werden können und die einzelnen Subdomains nicht bei crt.sh auftauchen. Hat aber den Nachteil, dass man caddy mit zusätzlichen Modulen installieren muss.
Aeh, ja, missverstaendlich beschrieben. Natuerlich reicht das nicht aus, ich habe mich dabei lediglich auf DNS bezogen.
Also entweder Dienst1.pizzasebasitan.de:2000, dann kann man sich die einzelne Dienste aber auch sparen, oder eben mit verschiedenen "Dienten" und dann mit nem reverse proxy, ja.
Nein so viele du willst, der reverse proxy (in diesem Fall nginx) kann anhand des Host-Headers an den richtigen Dienst leiten.
In deb Host Header schreiben die Browser/Clients die Host Angabe in der Url, nicht die IP des Hosts. Also da steht bei einer Anfrage an abc.bla.com der wert abc.bla.com drin und bei def.bla.com entsprechend def.bla.com drin. Auch wenn für die gleiche IP hinterlegt ist.
Edit: Das was du möchtest ist ein reverse proxy, unter dem Stichwort findest du viele Infos.
80/443 müssen dann offen sein. Alle anderen Ports kannst du dann sogar schließen, weil das dann alles intern über loopback vom proxy gehandelt wird. Ich empfehle Traefik (mit Docker), das kann dir mit ACME automatisch für deine Services Zertifikate generieren und die Kommunikation absichern. Vom Nginx Proxy Manager würde ich etwas Abstand halten, da wurden lange existierende gravierende Sicherheitslücken gefunden. Nginx (was drunter liegt) ist aber sehr robust.
okay. Wie sieht sowas sicherheitstechnisch aus? Also ich habe z.b. Nodered, Uptime Kuma, Homeassistant, WikiJS, Grafana, Duplicati und noch ein paar weitere Dienste am laufen. Die haben zwar alle eingerichtete Login Pages aber wie viel größer wird das Risiko für einen Angriff?
Also ich bin jetzt kein super duper Experte und so pauschal lässt es sich nicht beantworten. Aber im Grunde ist das Szenario dass einer deiner Dienste übernommen werden könnte und die Frage ist auf wieviel kann der Dienst dann zugreifen? Wenn alles auf dem gleichen System unter root läuft ohne SeLinux o.Ä. sieht's übel aus ;)