Nginx Proxy Manager: Reverse Proxy mit Docker-Compose installieren

Der Nginx Proxy Manager ist eine Open-Source-Software, die auf dem Nginx-Webserver basiert. Neben Apache ist Nginx einer der am häufigsten verwendeten Webserver für alle möglichen Webanwendungen. Wir installieren in dieser Installationsanleitung den Nginx Proxy Manager in einem Docker-Container. 

Nach erfolgreicher Installation können Konfigurationen und Verwaltungen über die Weboberfläche (Dashboard) vorgenommen werden. Die grafische Benutzeroberfläche erlaubt mit wenigen Mausklicks die Installation von kostenlosen Let’s Encrypt Zertifikate und die Einrichtung von Reverse-Proxys.

Inhaltsverzeichnis: Nginx Proxy Manager Installationsanleitung

NGINX PROXY MANAGER INSTALLIEREN im Docker

Was ist ein Reverse-Proxy und wie funktioniert dieser?

Ein Reverse-Proxy ist ein Verbindungsglied zwischen Clients und einem bzw. mehreren Webservern. Der Reverse-Proxy nimmt Anfragen von Clients entgegen und sendet diese anschließend an einen bestimmten Server weiter. Dabei gibt der Reverse-Proxy auch eine Antwort des Servers an den Client selbst zurück. 

Dieses Szenario hat den Vorteil, dass nun mehrere Webseiten auf einem Webserver über die Ports: 80 und 443 erreicht werden können. Da diese bestimmten Web-Ports für HTTP und HTTPS in der Regel nur einmal an eine interne IP-Adresse zugeordnet werden kann.

Es ergeben sich jedoch noch mehr Vorteile und tolle Funktionen mit einem installierten Nginx Proxy Manager (Überblick)

  • Lastenausgleich: Anfragen von Clients können mit dem Reverse-Proxy auf mehrere Webserver verteilt werden. Das ist besonders dann vom Vorteil, wenn die Webseite sehr viele Besucher zur selben Zeit hat. Diese finden sehr häufig Anwendung im E-Commerce-Sektor, z.B. um den Traffic von Onlineshops zu bewältigen. Ohne diese Möglichkeit würde am Black-Friday so ziemlich jeder große Webshop seinen Service einstellen (Überlastung).
  • Hohe Sicherheit: Da Server nicht selbst die Anfrage übernehmen, sind sie von außen nicht direkt erreichbar, was Angriffe auf die Server erschwert. Ein Reverse-Proxy hat demnach auch eine schützende Funktion.
  • Webseiten Multiplikation: Da jede öffentliche IP-Adresse nur einmal die Ports (80 und 443) für Webanwendungen freigeben kann, bräuchte man für jede weitere Webseite nun eine eigene öffentlich erreichbare IP-Adresse. Das wäre finanzieller Unfug und würde schnell an die Grenzen des unmöglichen stoßen. Hier greift ein Reverse-Proxy ein und verteilt die Anfragen auf die gehosteten Webseiten völlig unabhängig davon, wie viele Webseiten auf den Webservern im Netzwerk bereitgestellt werden.

Hinweis: Damit du die Installation von Nginx Proxy Manager nach meiner Anleitung durchführen kannst, benötigst du einen installierten Docker-Server mit Docker-Compose. Falls du noch keinen Docker selbst installiert hast, solltest du erstmal mit dieser Anleitung beginnen und anschließend wieder zu dieser hier zurückkehren: Docker-Compose installieren

Nginx Proxy Manager unter Docker-Compose auf Linux installieren

Aktualisiere zu Beginn deine Paketquellen und implementiere mögliche Neuerungen und Updates der bereits installierten Applikationen auf deinem Server:

apt-get update && apt-get upgrade

Navigiere in das Home-Verzeichnis und erstelle einen Ordner für die Docker-Compose Konfigurationsdatei mit folgenden Befehlen:

cd /home

mkdir nginxproxymanager

cd nginxproxymanager

Erstelle jetzt die Docker-Compose Konfigurationsdatei:

touch docker-compose.yml

Öffne die neu erstellte Datei mit dem Nano-Editor und füge den folgenden Inhalt ein:

nano docker-compose.yml

Kopiere diesen Inhalt und füge ihn in die Datei ein:

version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

Speichere die Änderungen ab (STRG+S) und verlasse den Nano-Editor wieder (STRG+X).

Jetzt können wir den Docker-Container mit der Verwendung von diesem Befehl an den Start bringen:

docker-compose up -d

Das Admin-Interface von Nginx Proxy Manager über den Browser aufrufen

Sobald der Docker-Container läuft, kannst du das Admin-Interface nach erfolgreicher Installation über die IP-Adresse deines Servers und der Verwendung des Port: 81 über einen Browser im selben Netzwerk aufrufen.

Beispiel: http://192.168.1.120:81

Nach dem ersten Aufruf kannst du dich mit den vorkonfigurierten Nginx Proxy Manager Zugangsdaten, bestehend aus E-Mail und Passwort, an der grafischen Benutzeroberfläche anmelden (Default Admin-User):

E-Mail: admin@example.com

Passwort: changeme

Anschließend wirst du dazu aufgefordert, einen eigenen Admin-Account für deinen neu installierten Nginx Proxy Manager anzulegen. Jetzt kannst du damit anfangen diverse Konfigurationen für Proxy-Hosts, SSL-Zertifikate und vieles mehr vorzunehmen.

nginx proxy manager mit docker-compose installieren

1 Kommentar on “Nginx Proxy Manager: Reverse Proxy mit Docker-Compose installieren

  1. if anybody gets error „service must be mapping not a nontype“ try this content for the .yml file:

    version: ‚3‘
    services:
    app:
    image: ‚jc21/nginx-proxy-manager:latest‘
    restart: unless-stopped
    ports:
    – ’80:80′
    – ’81:81′
    – ‚443:443‘
    volumes:
    – ./data:/data
    – ./letsencrypt:/etc/letsencrypt

    best regards

Schreibe einen Kommentar

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