↓ Zum Hauptinhalt springen
  1. Anleitungen/

Nginx Proxy Manager installieren: Reverse Proxy mit SSL

Patrick Adams
Autor
Patrick Adams
Linux-Administrator und IT-Specialist. Ich schreibe über Server, Self-Hosting und Open-Source-Software, praxisnah und selbst getestet. Mehr über mich →
Inhaltsverzeichnis
Mit dem Nginx Proxy Manager machst du deine selbst gehosteten Dienste über eigene Domains erreichbar, zum Beispiel vault.deine-domain.de statt IP:8080. SSL-Zertifikate von Let’s Encrypt holt und erneuert er automatisch, alles bequem per Weboberfläche.
Voraussetzungen: Debian mit Root-Zugriff, eine Domain und die Ports 80 und 443, die von außen erreichbar und noch frei sind. Installiere den Nginx Proxy Manager deshalb nicht auf einem Server, auf dem schon CloudPanel oder ein anderer Webserver läuft.

Docker installieren
#

System aktualisieren
#

apt update && apt upgrade -y && apt install ca-certificates curl -y

Docker-Paketquelle einrichten
#

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list

Docker und Docker Compose installieren
#

apt update && apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Dockge installieren
#

Dockge einrichten
#

Dockge ist eine Weboberfläche, mit der du Docker-Compose-Stacks bequem im Browser verwaltest. Dieser Befehl legt die Verzeichnisse an und startet Dockge:

mkdir -p /opt/stacks /opt/dockge && cd /opt/dockge && curl -fsSL https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml -o compose.yaml && docker compose up -d

Dockge öffnen
#

Öffne Dockge im Browser und lege direkt dein Admin-Konto an:

http://IP-deines-Servers:5001
Lege das Admin-Konto in Dockge sofort an. Bis dahin kann jeder, der die Adresse aufruft, das Konto für sich anlegen.

Nginx Proxy Manager einrichten
#

Stack anlegen
#

Klicke in Dockge auf + Compose und gib unter „Allgemein“ den Stack-Namen nginx-proxy-manager ein.

compose.yaml einfügen
#

services:
  npm:
    image: jc21/nginx-proxy-manager:latest
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
      - 81:81
    environment:
      - TZ=Europe/Berlin
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Für die meisten Setups reicht die eingebaute SQLite-Datenbank völlig aus. Du brauchst also keinen eigenen Datenbank-Container, und es gibt weniger, das schiefgehen kann.

Stack starten
#

Klicke auf Speichern und dann auf Deploy.

Nginx Proxy Manager öffnen
#

Erste Anmeldung
#

http://IP-deines-Servers:81

Je nach Version legst du beim ersten Aufruf direkt dein Admin-Konto an, oder du meldest dich mit den Standardzugangsdaten an:

E-Mail:   admin@example.com
Passwort: changeme
Ändere E-Mail und Passwort sofort nach der ersten Anmeldung. Port 81 ist die Verwaltungsoberfläche: Gib ihn in deiner Firewall am besten nur für deine eigene IP-Adresse frei oder erreiche ihn nur über VPN.

Ersten Proxy Host anlegen
#

  1. Leg bei deinem Domain-Anbieter einen A-Eintrag an, zum Beispiel dienst.deine-domain.de, der auf die IP-Adresse deines Servers zeigt.
  2. Klicke im Nginx Proxy Manager auf Hosts → Proxy Hosts → Add Proxy Host.
  3. Trag unter Domain Names deine Domain ein und unter Forward Hostname / IP und Forward Port die Adresse des Dienstes, zum Beispiel die IP deines Servers und Port 8080.
  4. Aktiviere Block Common Exploits und bei Diensten mit Live-Updates wie n8n oder Vaultwarden auch Websockets Support.
  5. Wähle im Reiter SSL die Option Request a new SSL Certificate und aktiviere Force SSL.

Nach dem Speichern holt der Nginx Proxy Manager das Zertifikat automatisch, und dein Dienst ist sicher über HTTPS erreichbar.

Nginx Proxy Manager aktualisieren
#

cd /opt/stacks/nginx-proxy-manager && docker compose pull && docker compose up -d

Verwandte Artikel