Leichtgewichtiger HTTPS-Reverseproxy

Leichtgewichtiger HTTPS-Reverseproxy

Ich habe ein ähnliches Bedürfnis wiedieses Mitglied: Einzelne öffentliche IP, mehrere HTTPS-Backends, Zertifikate sollten auf den Backend-Servern bleiben. Die Antworten auf den Beitrag listen NGINX, Haproxy und Sniproxy als mögliche Lösungen auf.

Meine öffentliche IP befindet sich auf einem Debian-Server mit sehr knappen Ressourcen (1 vCPU, 512 MB RAM), das ist also ein Problem. Welche der aufgelisteten Lösungen benötigt die wenigsten Ressourcen? Oder gibt es andere Alternativen? Danke!

Antwort1

@anxsagte "Testen Sie es" (nichtsdestotrotz fett gedruckt) und das habe ich getan.
Naja, nicht wirklich, da ich dafür keine Zeit habe. Da ich vermutete, dass die verschiedenen Lösungen um Größenordnungen auseinander liegen könnten, habe ich mir die Mühe erspart: Dinge tatsächlich zu konfigurieren und ein anderes System einzurichten, um einen Belastungstest durchzuführen. Vor allem, da die Spezifikationen meines Reverse-Proxys darauf hindeuten, dass die Backend-Server kein hohes Volumen haben.
Stattdessen habe ich die Pakete installiert (nur apt install <App>) und habe free -m && service <APP> start && free -m && service <APP> stop && free -m. Einige Sekunden zwischen den Schritten gewartet. Ich habe auch Debian 11 verwendet, was zum Zeitpunkt des Schreibens noch dietestenZweig.
Sehr rudimentär, ich weiß, aber es hat meinen Zweck erfüllt. Dies ist das Ergebnis, formatiert als: Anwendung (benutzter Festplattenspeicher, zusätzlich von apt installierte Pakete, verwendeter Speicher)

sniproxy (298 kB, 2, 1-2 MB)
apache2 (8.634 kB, 6, 3-4 MB)
nginx (20.500 kB, 20, 4-6 MB)
haproxy (4.315 kB, 1, 34-35 MB)

Ich habe Apache miteinbezogen, da ichannehmendass es auch eine ähnliche Funktionalität enthält, obwohl sie im verlinkten Beitrag nicht erwähnt wurde. Beachten Sie, dass dies wissenschaftlich nicht fundiert ist, da ich gerade verwendet habe freeund die Speichernutzung durch das Betriebssystem natürlich zu den Änderungen beitragen kann.
Verwenden Sie also in der UNIX-Tradition ein Tool, das nur eine Aufgabe erledigt (und diese hoffentlich gut erledigt). Wenn Sie also nur einen leichten Layer-4-Proxy mit SNI-Unterstützung benötigen, verwenden Sie sniproxy. Im verlinkten Beitrag wurde auch erwähnt, dass es einfach zu konfigurieren ist.

verwandte Informationen