Reverse Proxy & Verständnisfragen

zQuantum

New Member
Einen guten Tag euch!

Ich habe einige Fragen bezüglich eines Projekts, an welchem ich gerade arbeite.

Das Projekt selbst umfasst meinen Rack-Server, auf welchem ich die Virtualisierungssoftware ESXi betreibe und somit mehrere Linux-Server in meinem Netz habe, welche ich gerne über eine Domain von außen erreichbar machen möchte. Da ich jedoch nicht mit verschiedenen Ports arbeiten möchte, ist mir der Gedanke gekommen, einen Reverse Proxy (nginx) zu verwenden.

Jedoch stellen sich hierbei für mich einige Fragen:
1. Ich möchte unter anderem ein Administrationspanel (KeyHelp) für meine Cloud (nextcloud) verwenden, welches an sich von der Funktionsweise ähnlich funktioniert wie Plesk und andere Plattformen. Man kann mehrere Domains eintragen, welche dann zwar theoretisch alle auf die gleiche IP zeigen, jedoch trotzdem die jeweilige Webseite anzeigen. Wie funktioniert das? Und lässt sich so etwas dann überhaupt in Kombination mit einem Reverse Proxy verwenden, oder werden Fehler auftreten?

2. Wie würde diese Konstellation mit SSL-Zertifikaten funktionieren? Soll heißen würden diese über den Reverse Proxy oder über KeyHelp / Plesk laufen?

Grüße,
Quantum
 
Last edited by a moderator:
Ein paar Stichworte, mit denen Du Dich einlesen kannst, wie das alles funktioniert: vHosts (HTTP Host Header), SNI, ...

Bei Verwendung eines Reverse-Proxy wirst Du TLS höchstwahrscheinlich auf diesem terminieren wollen. Dort gehören somit die Zertifikate hin.

Die genannte Software kenne ich nicht im Detail. Deshalb vorerst mal nur allgemeine Hinweise von mir.
 
Die VHosts auf dem Nginx Server müssen dann entsprechend erstellt werden. Alle Domains müssen dann auf diesen einen Nginx-Server verweisen (A/AAAA-Record). In der Konfiguration wird dann IP und Port des Zielservers angegeben. Das sollte im lokalen Netzwerk sein und darf von außen nicht erreichbar sein.

Problematisch wird das mit Plesk/KeyHelp, da man ja dort Domains erstellen kann. Der Nginx weiß aber nichts davon. Irgendwie müssten dann die Benutzerdefinierten Domains (außerhalb von Plesk/KeyHelp) konfiguriert werden und dann irgendwie eine Synchronisation zwischen Plesk/KeyHelp <> Nginx. Da das auf unterschiedlichen Hosts ist, stelle ich mir das jetzt nicht so einfach vor.

Ich würde mir einfach ein Script schreiben, dass entweder eine API von Plesk/KeyHelp verwendet, um zu synchronisieren oder im Härtefall die ganzen Configs von Plesk/KeyHelp parsen und dementsprechend automatisiert die Einträge für die VHosts des Nginx vornehmen.

Vielleicht weiß der Support von dem genannten WebInterface(s) mehr. Vielleicht haben die ja sogar eine fertige Lösung dafür.
Wenn ich das bräuchte und es so eine Lösung gibt, würde ich dafür auch zahlen. Fertige Lösungen sind fast immer besser als selbstgestrickte Lösungen.

Was die SSL-Zertifikate angeht, die müssen dann auch auf dem Nginx-Server sein. Die Kommunikation zwischen Nginx und Webserver, kann im Klartext erfolgen. Wenn man eine etwas größere Infrastruktur hat, kann SSL die Sicherheit etwas verbessern. Anstatt dann auf LetsEncrypt zurück zu greifen, betreibt man sein eigenes interes CA, dass mit der Außenwelt nichts zu tun hat.
 
Last edited by a moderator:
Back
Top