c't 17/2019
S. 158
Know-how
HTTP-Router Traefik
Aufmacherbild
Bild: Albert Hulm

HTTP-Einweiser

Eingehenden HTTP-Verkehr mit Traefik routen

Soll ein Webserver mehr als eine Webseite ausliefern und auf unterschiedliche Hostnamen hören, braucht es einen HTTP-Router. Die Open-Source-Lösung Traefik ist sehr flexibel. Vor allem im Zusammenspiel mit Containern. Noch dazu ist sie schnell eingerichtet.

Mit Container-Technik wie Docker ist es kein großer Aufwand, mehrere Webdienste auf einer Maschine zum Laufen zu bringen. Selbst ein kleiner virtueller Server oder ein heimischer Raspberry Pi können problemlos mehrere Webseiten ausliefern – zum Beispiel eine Dateiablage für die Familie und einen Blog. Damit hinter einer öffentlichen IP-Adresse verschiedene Seiten antworten, braucht es einen Router für eingehenden HTTP-Verkehr. Im besten Fall übernimmt dieser auch gleich die Beschaffung von TLS-Zertifikaten für die Auslieferung von https-Seiten, schreibt Logfiles und kümmert sich um Autorisierung der Zugriffe oder filtert zum Beispiel nach IP-Adressen.

Besonders populär sind im Container-Umfeld HTTP-Router auf Basis eines Nginx-Webservers – allen voran der Container „jwilder/nginx-proxy“. Er löst jedoch nur genau eine Aufgabe, nämlich das Routen von eingehendem Verkehr. Für die Zertifikatsbeschaffung braucht es einen weiteren Container, für Logging, Autorisierung und Filterung auch. Schnell hat man einen Container-Zoo aus kleinen Diensten von unterschiedlichen Entwicklern, bevor auch nur ein einziger Container mit der eigentlichen Anwendung läuft.

Kommentieren