# Docker-Image-Review: jwilder/nginx-proxy > Schon mal gefragt, ob es eine gute Alternative für Szenarien gibt, in denen ein vollwertiger Ingress-Proxy Overkill wäre? Hier kommt sie — und die Konfiguration kennst du schon, denn sie basiert auf nginx. - URL: https://blog.goroot.de/de/post/docker-image-review-jwilder-nginx-proxy/ - Erstveröffentlichung: 2018-01-29 - Lastmod: 2018-01-29 - 422 Wörter, 2 min - Tags: docker, security, reverse-proxy, nginx - Autor: Michael Kolb — goroot (https://blog.goroot.de/de/) --- Schon mal gefragt, ob es eine gute Alternative für Szenarien gibt, in denen ein vollwertiger Ingress-Proxy Overkill wäre? Hier kommt sie: `jwilder/nginx-proxy`. Das Image kann besonders nützlich sein, wenn man zum ersten Mal ein Ingress-Konzept aufsetzt. [Nginx](https://www.nginx.com) ist in der Welt der klassischen Serveradministration und des Webhostings bestens bekannt. Warum also nicht den vertrauten Webserver auch in der containerisierten Umgebung nutzen? Verglichen mit vollwertigen Ingress-Routern wie [Traefik](https://traefik.io) erlaubt dir das Image, dein vorhandenes Know-how und auch einige deiner Konfigurationen weiterzuverwenden. Das Konzept eines Ingress-Routers ähnelt einem Reverse Proxy. Es geht darum, alle anderen Dienste hinter einem einzigen Container zu verstecken, so wie du es mit einem Reverse Proxy tun würdest. Die Vorteile liegen auf der Hand: Du musst dich nicht um Dinge wie Verschlüsselung oder Authentifizierung für jeden einzelnen Dienst separat kümmern. Es gibt dir außerdem die Möglichkeit, Dinge wie Load-Balancing oder das Sammeln von Statistiken über alle deine Dienste hinweg umzusetzen. ## Anwendungsfall Jason Wilder selbst erklärt den Anwendungsfall von `jwilder/nginx-proxy` sehr ausführlich in seinem [Blog](http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/). Die Nutzung dieses Images beschränkt sich (Stand der Artikelerstellung) auf statische Setups, wie z. B. docker-compose-Dateien. Wenn du dynamischere Setups betreibst — etwa solche, bei denen Container spontan erstellt werden — sind Lösungen wie Traefik besser geeignet. Zum Zeitpunkt der Erstellung dieses Artikels kann das Image Backend-Dienste ohne spezielle `jwilder/nginx-proxy`-Konfiguration nicht automatisch erkennen. ## Konfiguration Die Hauptanwendungsfälle lassen sich vollständig über Umgebungsvariablen konfigurieren, die auf den zu proxenden Diensten definiert werden. Leider hat das auch den Nebeneffekt, dass die nginx-proxy-Konfiguration in deinem Backend-Dienst sichtbar wird. Würde man stattdessen Labels zur Konfiguration verwenden, würde das die Umgebung nicht verunreinigen. ## Aktivität Die Community rund um `jwilder/nginx-proxy` ist sehr aktiv. Das [GitHub-Repository](https://github.com/jwilder/nginx-proxy) hat über 60 Contributor. Updates des Images erfolgen sehr häufig, was für einen Dienst, der die erste Verteidigungslinie in deinem Setup darstellt, sehr wichtig ist. Besonders wenn man bedenkt, dass die Nutzung von Docker-Images [zusätzliche potenziell unsichere Schichten hinzufügt](/docker-containers-insecure/) zwischen dir und dem Software-Hersteller. ## Skalierung Der Dienst selbst lässt sich nicht so einfach skalieren wie andere Ingress-Router-Lösungen. Um die Instanzen dynamisch zu skalieren, musst du einen dedizierten Load-Balancer betreiben, der die Aufrufe auf deine `jwilder/nginx-proxy`-Instanzen verteilt. ## Fazit Jasons nginx-basiertes Reverse-Proxy-Image ist einer der besten verfügbaren Ingress-Router für statische Setups. Es ist besonders nützlich in statischen Umgebungen, z. B. klassischen Servern, auf denen die Dienste in Containern laufen. Die Fähigkeit, die gesamte notwendige Konfiguration aus wenigen Einstellungen zu generieren, ist hervorragend. Es ist eines der wenigen verfügbaren Images, die überhaupt keine Konfigurationsdateien benötigen. Selbst für Einsteiger ohne jegliches nginx-Wissen senkt das die Hürde, einen Ingress-Router zu konfigurieren, wirklich erheblich.