wowa-edge — Web-, TLS- und Security-Gateway
wowa-edge
Web-, Application-, TLS- und Security-Gateway. Ein Server, der die Konfigurationssprache spricht, die man schon kennt — und darunter einen eigenen, von Grund auf gebauten Protokollstapel mitbringt.
wowa-edge steht bei der Wolkenwald GmbH im Produktivbetrieb: er bedient den öffentlichen Randknoten, die internen Lastverteiler und die Spiegelserver.
Was ihn ausmacht
Apache-2.4-nahe Konfiguration
<VirtualHost>, RewriteRule, RewriteCond, RewriteMap, <Location>, <Directory>, Require-Container, <Macro>, Include mit Glob, .htaccess. Eine bestehende Konfiguration lässt sich übernehmen, statt sie neu zu erfinden — und wo wowa-edge von Apache abweicht, steht das in einer eigenen Vergleichstabelle in der Dokumentation, nicht im Kleingedruckten.
Alle drei HTTP-Fassungen
HTTP/1.1, HTTP/2 (über TLS-ALPN und als h2c) und HTTP/3 über QUIC auf demselben Port wie HTTPS. Der QUIC- und der TLS-Teil sind eigener Code auf OpenSSL 3.5, kein eingebundener Fremdstapel.
Zertifikate, die sich selbst erneuern
ACME (Let’s Encrypt) mit HTTP-01, dazu eine eigene interne CA, selbstsignierte Zertifikate und OCSP-Stapling — letzteres je Zertifikat, nicht serverweit. Ein Zertifikat je <VirtualHost>, ausgehandelt über SNI, mit eigener TLS-Politik je Name.
Reverse-Proxy und Lastverteilung
ProxyPass über HTTP, HTTPS, AJP13 und WebSocket, ein Verbindungspool zum Backend, Streaming grosser Antworten ohne sie zu puffern, Lastverteiler mit Sticky Sessions, Gewichtung, aktiven und passiven Gesundheitsprüfungen, Draining und einer Bedienoberfläche dafür.
Anwendungen direkt angebunden
FastCGI/PHP-FPM, SCGI, uwsgi und klassisches CGI — nativ gesprochen, nicht über einen Umweg.
Schutz
Basic Auth, Require ip, mTLS mit Client-Zertifikaten, eine Regelmaschine im Stil von mod_security, Ratenbegrenzung gegen Lastangriffe und eine Begrenzung gleichzeitiger Anfragen je Pfad zum Schutz des Backends.
Inhalte unterwegs bearbeiten
Kopfzeilen setzen und entfernen (auch bedingt), Textersetzung im Rumpf, Kompression mit gzip und Brotli, ein HTTP-Cache im Speicher und auf der Platte mit Revalidierung.
Betrieb
Konfiguration neu laden im laufenden Betrieb, ohne eine einzige Verbindung zu verlieren: der neue Stand wird gebaut und dann in einem Zug eingewechselt, der alte lebt so lange weiter, wie noch eine Anfrage auf ihm läuft. Protokolle im Apache-Format, je Server und je <VirtualHost>, mit Rotation durch Umbenennen. Dazu eine HTTP-Schnittstelle, die Kennzahlen liefert und <VirtualHost>-Dateien im Browser bearbeitbar macht.
Technisches
- Sprache: PureBasic 6.x mit C-Backend
- Plattform: Linux x64
- TLS: OpenSSL 3.5 oder neuer (als eigenes Paket mitgeliefert, das System bleibt unberührt)
- Lizenz: LGPL-2.1
- Fassung: 0.98.2
Pakete
Gebaut wird für acht Ziele: openSUSE Leap 15.6 und 16.0, openSUSE Tumbleweed, Fedora 42, Debian 12 und 13, Ubuntu 22.04 und 24.04 — jeweils mit Debug-Symbolen als eigenes Paket.
Stand
wowa-edge ist vor 1.0: solange 0.x läuft, können Minor-Sprünge Verhalten ändern. Jede Fassung ab 0.90.0 ist als annotierter Git-Tag ausgezeichnet und aus dem Tag reproduzierbar baubar — die Byte-Identität zweier Bäue aus demselben Stand ist Teil der Testreihe.