Dieses Tutorial ist NICHT mehr valid und dient nur noch als historisches Anschauungsmaterial!

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

Traefik Docker Container als Reverse-Proxy und Let’s Encrypt Provider

Docker ist gut und schön, hat aber einen gravierenden Nachteil: Wir haben ja für jeden Dienst einen eigenen Container. Und diese Container werden über Ports nach „außen“ angebunden. Port 80 und 443 bedient zum Beispiel den Zugang zum Web. Belegt ein Container diese Ports mit seinem eingebauten Webserver, ist Schicht im Schacht. Kein weiterer Container kann dann auf Port 80 kommunizieren, da sich diese ansonsten ins Gehege kämen. Natürlich können wir auf andere Ports umsteigen, aber dann müssen wir die entsprechend mit im Browser übergeben: (http://www.xp-server.de:44480) zum Beispiel.

Das schaut nicht nur furchtbar aus, es gibt auch Stress mit Google. „https“ funktioniert auch nicht richtig, weil das auf Port 443 festgenagelt ist. Und niemand merkt sich zu Domains auch noch Portnummern. Also muss eine andere Lösung her…

Die wurde gefunden in Form eines Systems, das man „Reverse Proxy“ getauft hat.

Proxy und Reverse Proxy

Ein „Proxy“ ist eine Vermittlungsstelle in einem Netzwerk. Er nimmt Anfragen entgegen und antwortet der Gegenseite mit seiner eigenen Adresse. Der „Reverse Proxy“ antwortet mit der Adresse des Zielsystems. Die Antwort ist im Gegensatz zu einem normalen Proxy atypisch in Gegenrichtung, daher „rückwärts“.

Bis vor ein paar Wochen habe ich als Reverse Proxy System den „nginx-proxy“ von jwilder benutzt. Hat eigentlich ganz gut funktioniert. Leider hat aber ein weiterer Nachteil der Docker-Landschaft zugeschlagen: Du kannst auch als Ein-Mann-Armee Projekte hochladen. Und dieser nginx-proxy wird halt von genau einer Person gewartet: Jason Wilder aus Colorado. Und für ein paar Monate hat er das Projekt eben nicht gewartet…

Der Reverse Proxy ist das Herzstück unserer Docker-Maschinerie. Jeder Container, der mit dem Netz sprechen will, muss da durch. Selbstredend müssen wir diesem System blind vertrauen können. Und genau dieses Vertrauen wurde durch die fünf Monate, in denen kein Update ins Projekt geflossen ist, schwer beschädigt.

Die Alternative: Traefik

Glücklicherweise gibt es hier eine Alternative: Traefik.

Traefik ist eigentlich für das, was wir damit machen, viel zu mächtig. Wir werden nur einen ganz kleinen Teil seiner Fähigkeiten nutzen. Aber Traefik hat über 650 Millionen Downloads und 350+ Leute, die daran mitarbeiten. Also entscheide ich mich im Zweifel hierfür und fresse mich durch die Konfiguration… Besser als irgendwann mit streikenden oder unsicheren Systemen dazustehen, wenn der Support des nginx-proxy plötzlich ausläuft.

Traefik v1 ./. v2 | Organisatorisches

Traefik 2.0 RC1 ist gerade in den Startlöchern in dem Moment, in dem ich das hier tippe. War ja klar, dass da ein Major Release kommt, just in dem Moment, in dem ich mich durch die ganze Konfiguration gearbeitet habe. Und was ist einer der groß angekündigten Punkte?! Der hier: „A whole new label system for configuration consistency„. Sprich alle Befehle und Instruktionen heißen in der v2 anders. Ein komplett neues System, das absolut inkompatibel zur v1 ist… AAaaaaahhhhhh !!!

Spaßhalber hab ich die v2 auf dem Testsystem ausprobiert. Ja, es ändert sich wirklich alles. Nein, ich bekomm’s nicht zum Laufen. Die Doku auf der Seite kann man auf eine Stufe mit der von Docker stellen. Für versierte Anwender geeignet, die schon genau wissen, was sie tun. Für Neueinsteiger ist das nicht gemacht worden, so viel steht schon mal fest.

Gut, WTF… Ärgern hilft nicht.
Ich habe Rückantwort von einem der Entwickler bekommen, dass die v1 noch mindestens ein Jahr lang gepflegt und mit Updates versorgt wird. Das sollte reichen, bis es mehr Informationen und bessere Dokumentationen zur v2 gibt, damit ich umsteigen kann. Also behandeln wir in diesem Tutorial die Version 1.7 von Traefik. Das müssen wir im Hinterkopf behalten, denn diese müssen wir in den Configs auch explizit so benennen, ansonsten kann es passieren, dass ein Update die neue v2 lädt und danach nichts mehr funktioniert…

Anzeige *

2 Kommentare zu „Traefik Docker Container als Reverse-Proxy und Let’s Encrypt Provider“

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top