Reverse-Proxy - Was habt ihr im Einsatz?

blurrrr

Well-known member
Mahlzeit!

Da das Thema Reverse-Proxy früher oder später vermutlich bei allen auf der Liste steht, die Dienste im Internet bereitstellen wollen (Nextcloud, HomeAssistant, Wordpress, Dienste auf eurem NAS, etc.) und den Zugriff dabei nicht via VPN realisieren wollen... Was nutzt ihr für Reverse-Proxy-Lösungen und wie sind eure Erfahrungen damit? 🙃

Möglichkeiten gibt es ja einige, die bekanntesten Vertreter dürften klar sein, sind aber mitunter auch gern mal irgendwo als Addon/Plugin verfügbar (z.B. HAproxy-Paket bei pfSense/OPNsense, etc.) und somit eingebettet in andere Lösungen. Nutzt ihr euren Reverse-Proxy "standalone" (z.B. als Docker-Variante wie den Nginx-Proxy-Manager, oder traefik, etc.), oder habt ihr es zusätzlich auf etwas anderem wie einer pfSense/OPNsense, etc. laufen?

Ich fang einfach mal an:

Hier lief einige Zeit zevenet, welches dann übergegangen ist zu skudonet, hat pound als Unterbau. Anderorts teilweise auch HAproxy via OPNsense im Einsatz gehabt. Mit dem Nginx-Proxy-Manager (NPM) bin ich irgendwie nie wirklich warm geworden. Zu Testzwecken auch mal rein nginx, da aber weniger als regulärer Web-Reverse-Proxy, sondern eher als Teststellung für ein Projekt (Mail-Proxy).

Traefik und ähnliche, welche eher in die "cloud-native"-Ecke gehören, sind derzeit noch kein Thema, wird sicherlich aber auch mal kommen und dann wird man froh sein, wenn es sowas schon gitb. Allerdings sehe ich da aktuell keinen Bedarf bei mir (was nicht heisst, dass sich sowas nicht auch sehr schnell ändern kann 😇).

Wie sieht's bei euch so damit aus? :)
 
Versuch es vielleicht mal mit dem Nginx Proxy Manager der scheint recht gut zu sein.
Ich bevorzuge allerdings die VPN Lösung und habe OpenVPN und Wireguard im Einsatz.
 
Versuch es vielleicht mal mit dem Nginx Proxy Manager der scheint recht gut zu sein.
->
Mit dem Nginx-Proxy-Manager (NPM) bin ich irgendwie nie wirklich warm geworden.
Sofern ich Dich richtig verstanden habe - falls nicht, war es so gemeint, dass Du mal den NPM ausprobieren willst? Für mich ist der NPM jedenfalls nichts - 3 Knöpfe für das nötigste und der Rest folgt dann sowieso wieder der entsprechenden Config-Syntax, dafür braucht man dann meiner Meinung nach auch keine WebGUI. Ist aber mit den Basic-Settings schon ganz nett für Leute, welche sich nicht groß mit der Thematik beschäftigen wollen.

Via VPN ist schon klar und für die meisten Dinge auch zu bevorzugen, aber wie ich schon schrieb:
die Dienste im Internet bereitstellen wollen (Nextcloud, HomeAssistant, Wordpress, Dienste auf eurem NAS, etc.) und den Zugriff dabei nicht via VPN realisieren wollen
Geht also schon konkret darum, diverse Dienste "öffentlich" im Internet bereitzustellen :)
 
Ich hab Caddy im Einsatz. Die Config verwalte ich per Git. Insgesamt habe ich 4 Instanzen laufen. 2 für den Zugriff von intern und zwei für den Zugriff von extern. Alle vier Instanzen werden per einem Git Push Hook aktualisiert. Falls sich jemand fragt wieso 4... Das hat den Hintergrund, dass ich erst nur zwei laufen hatte. Die liefen auf verschiedenen Hosts. Mit keepalived wird zwischen Master und Slave geschaltet. So kann ich ein Node neustarten/ausmachen was auch immer. Der andere springt dann immer ein. Durch die virtuelle IPs (IPv4 und IPv6) kann ich auch die Port Weiterleitungen auf diese IPs setzen und es wird immer auf den Master geleitet. Ich hab Domains, die nur intern aufgelöst werden und einige die öffentlich sind. Dann ist mir aufgefallen, dass wenn jemand seinen DNS Server anders konfiguriert und eine interne Domain auf meine IP auflöst, dann kann er trotzdem meine internen Dienste aufrufen, weil mein Reverse Proxy drauf reagiert. Ja ich könnte die Configs bei den Hosts anpassen, dass diese nur intern erreichbar sein dürfen, aber da hatte ich keine Lust zu und dachte mir, dass es eigentlich besser wäre, wenn man die gar nicht aufrufen könnte. Deshalb habe ich zwei weitere Instanzen hinzugefügt. Die Server auf die 443 weitergeleitet wird, laden erst gar nicht die Configs für die internen Dienste. So kann es auch nicht durch einen Fehler passieren, dass jemand etwas aufrufen kann, was er nicht sollte. Bei Adguard wird auf die virtuelle IP vom internen Proxy alles geleitet. So seh ich auch direkt was nur von extern angefragt wird und ob irgendwas nicht stimmt....

Ich hoffe ich konnte es bisschen verständlich erklären. :)
 
Mmh, kannst die zwei letzten Sätze nochmal anders formulieren bitte?
Komme dem Gedankengang nicht hinterher.

Aktuell habe ich 2 NPM, werde aber auch nur so halb warm. Die zwei Hauptkriterien die ich aktuell befriedige durch gewachsene Strukturen sind Wildcard Zertifkate (um nicht sämtliche Dienste in transparency logs zu leaken. Und um mit weniger Zertifikaten auszukommen, die ich dann intern flexibler weiter deployen kann egal welche Subdomains laufen sollen) und DNS delegation für die acme challenges (damit Hoster auch ohne DNS API kein Problem sind).
Zumindest in der Kombi fällt NPM da auch die Schnauze.
Jetzt hatte ich überlegt mir als nächstes ein nackten nginx selbst als Proxy zu nehmen...
Nach einem kurzen Überflug zu Caddy scheint dieser beide Kriterien zu meistern und noch andere... Dann werde ich mir den als nächstes anschauen, mindestens wieder als 2 getrennte Instanzen. Ob ich mir das mit der Redundanz (CARP IP) antue weiß ich noch nicht.

Aber schon mal danke für den Denkanstoß.

Aus Interesse, kannst vielleicht noch 1-2 Sätze zur eingesetzten Hardware absetzen?
 

Letzte Anleitungen

Statistik des Forums

Themen
7.716
Beiträge
75.448
Mitglieder
8.320
Neuestes Mitglied
onliner
Zurück
Oben