So konfigurieren Sie den Zugriff auf eine containerisierte Umgebung mit Nginx Proxy Manager unter Linux.
Einführung
In diesem Tutorial konfigurieren Sie einen sicheren und benutzerfreundlichen Zugriff auf containerisierte Dienste mit dem Nginx Proxy Manager. Dieser Ansatz vereinfacht das Management von Reverse-Proxys über eine Weboberfläche anstelle einer manuellen Konfiguration. Sie installieren den Nginx Proxy Manager mit Docker, richten ihn ein und stellen einen containerisierten Dienst über eine Domain bereit.
Voraussetzungen
Zielgruppe: Anfänger-Systemadministratoren
Geschätzte Zeit: ~30 Minuten
Endziel: Am Ende dieses Tutorials haben Sie eine funktionierende Nginx Proxy Manager-Einrichtung, die externen Datenverkehr zu einer containerisierten Anwendung leitet.
Systemanforderungen:
- Betriebssystem: Docker-kompatible Linux-Distribution
- Docker: Version 24.0.6 oder höher
- Docker Compose: v2
- Mindestens 1 GB RAM und 10 GB Festplattenspeicher
- Eine Domain, die auf Ihre Server-IP zeigt
- Offene Ports: 80, 81, 443
- Sudo-Rechte
Erforderliches Wissen:
- Grundlegende Nutzung der Linux-Befehlszeile
- Grundlegendes Verständnis von Docker-Containern
Schritt 1: Verstehen des Nginx Proxy Managers
Der Nginx Proxy Manager ist ein webbasiertes Tool, das die Konfiguration von Nginx-Reverse-Proxys verwaltet. Es ermöglicht Ihnen, den Datenverkehr zu verschiedenen Diensten über Domainnamen zu leiten, SSL-Zertifikate zu aktivieren und Zugriffsregeln zu verwalten, ohne Konfigurationsdateien manuell bearbeiten zu müssen.
Hauptmerkmale:
- Web-UI für Proxy-Management
- Automatisches SSL über Let's Encrypt
- Zugriffskontrolle und Authentifizierung
- Einfache Integration in Docker-Umgebungen
Ergebnis: Sie verstehen, wie der Nginx Proxy Manager das Bereitstellen von containerisierten Diensten vereinfacht.
Schritt 2: Installieren von Docker und Docker Compose
Installieren Sie Docker mit einem einfachen Einzeiler:
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
Überprüfen Sie die Docker-Installation:
docker --version
Überprüfen Sie Docker Compose:
docker compose version
Ergebnis: Docker und Docker Compose sind installiert und einsatzbereit.
Schritt 3: Einrichten des Nginx Proxy Managers
Erstellen Sie ein Projektverzeichnis:
mkdir ~/npm && cd ~/npm
Erstellen Sie eine Konfigurationsdatei:
nano docker-compose.yml
Fügen Sie den Konfigurationsinhalt ein:
version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
Speichern Sie die Datei und beenden Sie den Editor.
Starten Sie den Dienst:
docker compose up -d
Ergebnis: Der Nginx Proxy Manager-Container läuft und hört auf den erforderlichen Ports.
Schritt 4: Zugriff auf die Weboberfläche

Öffnen Sie Ihren Browser und gehen Sie zu: http://<IHRE_IP_ADRESSE>:81
Standard-Anmeldedaten:
- E-Mail:
[email protected] - Passwort:
changeme
Aktualisieren Sie Ihre Anmeldedaten, wenn Sie dazu aufgefordert werden.
Ergebnis: Sie können den Nginx Proxy Manager über die Weboberfläche verwalten.
Schritt 5: Bereitstellen eines Testcontainers
Führen Sie einen Test-Webcontainer aus:
docker run -d --name test-app -p 8080:80 nginx
Überprüfen Sie den Zugriff, indem Sie öffnen: http://<IHRE_IP_ADRESSE>:8080
Ergebnis: Ein Testcontainer läuft und ist lokal zugänglich.
Schritt 6: Erstellen eines Proxy-Hosts

In der Nginx Proxy Manager-Oberfläche:
- Klicken Sie auf "Proxy Hosts"
- Klicken Sie auf "Add Proxy Host"
- Geben Sie die Domain ein:
<IHRE_DOMAIN> - Weiterleitungs-Hostname oder IP:
localhost - Weiterleitungsport:
8080 - Aktivieren Sie "Block Common Exploits"
- Speichern Sie die Konfiguration
Ergebnis: Der Datenverkehr von Ihrer Domain wird zum Container geleitet.
Schritt 7: SSL aktivieren

Bearbeiten Sie den Proxy-Host:
- Öffnen Sie den SSL-Tab
- Wählen Sie Request a new SSL Certificate
- Aktivieren Sie Force SSL
- Aktivieren Sie HTTP/2 Support
- Geben Sie Ihre E-Mail ein und akzeptieren Sie die Bedingungen
- Speichern Sie die Änderungen
SSL erfordert korrekte DNS-Einträge, die Ihre Domain auf Ihren Server verweisen.
Ergebnis: HTTPS ist aktiviert und mit einem gültigen Zertifikat gesichert.
Verifizierung
Öffnen Sie Ihre Domain: https://<IHRE_DOMAIN>
Erwartete Ergebnisse:
- Die Nginx-Testseite wird geladen
- Der Browser zeigt ein gültiges SSL-Zertifikat an
- Es erscheinen keine Sicherheitswarnungen
Überprüfen Sie die laufenden Container:
docker ps
Ergebnis: Der Reverse-Proxy funktioniert korrekt und leitet den Datenverkehr sicher weiter.
Änderungen rückgängig machen
Dienste stoppen:
docker compose down
Testcontainer entfernen:
docker rm -f test-app
Projektdateien löschen:
rm -rf ~/npm
Wichtig: Dadurch werden alle Konfigurationen und SSL-Zertifikate entfernt.
Ergebnis: Alle Änderungen sind rückgängig gemacht und das System ist sauber.
Fehlerbehebung
Problem: Kann nicht auf die Weboberfläche zugreifen
Lösung: Stellen Sie sicher, dass Port 81 offen ist und nicht von einem anderen Dienst verwendet wird
Problem: SSL-Zertifikatsgenerierung schlägt fehl
Lösung: Überprüfen Sie, ob die DNS-Konfiguration auf Ihren Server verweist
Problem: Proxy-Host funktioniert nicht
Lösung: Überprüfen Sie den Containerstatus mit docker ps und die Protokolle mit docker logs <CONTAINER_ID>
Ergebnis: Häufige Probleme sind identifiziert und gelöst.
Fazit und nächste Schritte
Sie haben den Nginx Proxy Manager mit Docker installiert und konfiguriert und einen containerisierten Dienst mit einer Domain und SSL bereitgestellt. Diese Einrichtung bietet eine einfache und skalierbare Möglichkeit, mehrere Dienste zu verwalten.
Nächste Schritte:
- Fügen Sie zusätzliche Dienste hinter verschiedenen Domains hinzu
- Konfigurieren Sie Zugriffskontrolllisten
- Erkunden Sie erweiterte Proxy- und Sicherheitseinstellungen