Nginx Reverse Proxy mit SSL – Schritt-für-Schritt-Anleitung
Aktualisiert am 30.10.2026 · Lesezeit ca. 5 Min. · Niveau: Anfänger · von Viktor Tribus, IT-Tribus Nideggen
In diesem Artikel erfahren Sie, wie Sie einen sicheren Reverse Proxy mit Nginx und SSL einrichten. Dies ist besonders wichtig für Homelab-Umgebungen oder Home-Office-Setup, um Ihre Anwendungen sicher über das Internet zugänglich zu machen.
Worum es geht und wann Sie das brauchen
Ein Reverse Proxy wie Nginx leitet eingehende HTTP-Anfragen an mehrere Backends weiter. Dies ist hilfreich, wenn Sie mehrere Webanwendungen auf einem Server betreiben möchten oder eine Anwendung hinter einer sicheren SSL-Schicht schützen wollen. Beispielsweise können Sie damit einen Docker-Container mit Portainer (https://it-tribus.de/portainer-einrichten/) sicher im Internet verfügbar machen.
Voraussetzungen
Vor der Einrichtung müssen folgende Punkte erfüllt sein:
- Nginx installiert und laufend auf Ihrem Linux-Server (Ubuntu, RHEL, SUSE)
- Root-Rechte für die Installation und Konfiguration
- Eine Domain mit DNS-Eintrag auf Ihren Server
- Certbot für HTTPS-Zertifikate
Prüfen Sie Nginx-Version:
Überprüfen der Root-Rechte:
Wenn die Ausgabe „root“ ist, sind Sie berechtigt.
Schritt-für-Schritt-Anleitung
Schritt 1: Nginx installieren und starten
Erstellen Sie vorher einen Wiederherstellungspunkt auf Ihrem System. Installieren Sie Nginx:
Prüfen, ob der Dienst läuft:
Die Ausgabe sollte „active (running)“ enthalten.
Schritt 2: Certbot für SSL-Zertifikate einrichten
Certbot ist eine einfach zu bedienende Software, die Ihnen kostenloses HTTPS zur Verfügung stellt. Installieren Sie Certbot:
Dieser Schritt ist geschafft – weiter geht’s.
Schritt 3: Nginx-Konfiguration für Reverse Proxy erstellen
Öffnen Sie die Nginx-Konfigurationsdatei:
Fügen Sie folgenden Code hinzu, um einen Reverse Proxy zu konfigurieren:
Ersetzen Sie DOMAIN_NAME durch Ihre Domain und BACKEND_IP:PORT durch die IP-Adresse und den Port Ihres Backends (z. B. Docker-Container).
Speichern Sie die Datei und überprüfen Sie Nginx-Konfiguration:
Die Ausgabe sollte „syntax is ok" sein.
Schritt 4: SSL-Zertifikate von Certbot erwerben und aktivieren
Rufen Sie Certbot auf, um die Zertifikate zu erwerben:
Folgen Sie den Anweisungen im Terminal. Nach dem erfolgreichen Erhalt der Zertifikate wird Nginx automatisch neu konfiguriert.
Prüfen, ob die Zertifikate korrekt installiert sind:
Schritt 5: Nginx-Service neustarten und prüfen
Neustart des Services:
Überprüfen Sie, ob der Service läuft:
Die Ausgabe sollte „active (running)“ enthalten.
Öffnen Sie Ihren Browser und laden Sie Ihre Domain mit HTTPS auf. Die Anwendung hinter dem Reverse Proxy sollte jetzt sichtbar sein.
Schritt 6: Zertifikate regelmäßig aktualisieren
Certbot legt einen Cron-Job für die automatische Aktualisierung der Zertifikate an. Überprüfen Sie den Job:
Die Ausgabe sollte eine Zeile mit „certbot renew“ enthalten.
Die wichtigsten Befehle im Überblick
| Befehl | Wirkung | Hinweis |
|---|---|---|
sudo apt update |
Aktualisiert Paketlisten | Vor jeder Installation notwendig |
sudo apt install nginx |
Nginx-Installation | Führen Sie mit Root-Rechten aus |
systemctl status nginx |
Liest den Status des Nginx-Dienstes | Überprüfen, ob der Dienst läuft |
sudo nano /etc/nginx/sites-available/default |
Öffnet die Konfigurationsdatei | Bearbeiten Sie hier den Reverse Proxy |
sudo certbot --nginx -d DOMAIN_NAME |
Erfasst SSL-Zertifikate von Certbot | Führen Sie mit Root-Rechten aus |
sudo systemctl restart nginx |
Neustart des Nginx-Services | Nach Konfigurationen notwendig |
crontab -l |
Liest die Cron-Jobs aus | Überprüfen Sie den Zertifikataktualisierungsjob |
sudo nginx -t |
Testet die Nginx-Konfiguration | Nach Änderungen notwendig |
Häufige Fehler und ihre Lösung
Fehlermeldung: „nginx: emerg bind() to 0.0.0.0:80 failed (98: Address already in use)“
Ursache: Ein anderes Programm verwendet bereits den Port 80.
Lösung: Stoppen Sie das betreffende Programm oder ändern Sie den Port in der Konfiguration.
Fehlermeldung: „Failed authorization procedure. DOMAIN_NAME (http-01): urn:ietf:params:acme:error:dns :: DNS problem“
Ursache: Ihre Domain ist nicht korrekt eingetragen oder DNS-Eintrag fehlt.
Lösung: Überprüfen Sie Ihren DNS-Eintrag und stellen Sie sicher, dass er auf die richtige IP zeigt. Warten Sie einige Stunden, bis sich der Eintrag durchgesetzt hat.
Fehlermeldung: „nginx: emerg unknown „proxy_pass“ directive“
Ursache: Falsche Syntax in der Nginx-Konfiguration.
Lösung: Überprüfen und korrigieren Sie die Konfigurationsdatei. Stellen Sie sicher, dass „proxy_pass“ korrekt verwendet wird.
Fehlermeldung: „404 Not Found“
Ursache: Die angeforderte Ressource wurde nicht gefunden.
Lösung: Überprüfen Sie Ihre Konfiguration und stellen Sie sicher, dass die Pfade korrekt sind. Achten Sie auf falsche Zeilenenden oder fehlende Dateien im Backend.
Änderungen rückgängig machen
Um Änderungen rückgängig zu machen, können Sie das Original der Nginx-Konfigurationsdatei wiederherstellen:
Dies bringt die Konfiguration auf den Stand vor Ihren Änderungen zurück.
Häufige Fragen
1. Muss ich für jede Domain eine separate Konfigurationsdatei erstellen?
Nein, Sie können mehrere Server-Blöcke in der gleichen Datei definieren oder einzelne Dateien im Verzeichnis /etc/nginx/sites-available/ anlegen und sie mit ln -s auf /etc/nginx/sites-enabled/ verweisen.
2. Kann ich mehrere Anwendungen hinter demselben Reverse Proxy betreiben?
Ja, durch die Verwendung von Unterdomänen oder Pfaden können Sie verschiedene Backends im gleichen Reverse Proxy konfigurieren.
3. Wofür brauche ich Certbot?
Certbot automatisiert das Erwerben und Verwalten von SSL-Zertifikaten, um Ihre Anwendungen sicher mit HTTPS bereitzustellen.
4. Kann ich den Reverse Proxy für Docker-Container verwenden?
Ja, Sie können Ihren Reverse Proxy so konfigurieren, dass er Docker-Containern als Backends dient. Dies ist besonders praktisch in Homelab-Umgebungen (https://it-tribus.de/docker-compose/).
5. Was mache ich, wenn Nginx nach einer Änderung nicht mehr startet?
Testen Sie Ihre Konfiguration mit sudo nginx -t. Die Ausgabe gibt Hinweise auf mögliche Fehler in Ihrer Konfigurationsdatei.
Fazit: Ein Reverse Proxy mit Nginx und SSL ist eine wichtige Schritt, um Ihre Anwendungen sicher über das Internet zugänglich zu machen. Bei Schwierigkeiten können Sie sich gerne an IT-Tribus in Nideggen wenden.
Das könnte Sie auch interessieren
Quellen und weiterführende Informationen
- Hosten von ASP.NET Core unter Linux mit Nginx – learn.microsoft.com
- nginx Reverse Proxy: Anleitung mit Beispielen – hythost.com
- Nginx Reverse Proxy: HTTPS in 12 Schritten [2026] – shattered.io
- Reverse Proxy – wiki.securepoint.de
- Einfache Verwaltung von Nginx, Reverse Proxy und SSL – itdata-gera.de
- nginx Reverse Proxy: Vollständige Einrichtungsanleitung – dataimpulse.com
Hinweis: Dieser Beitrag wurde am 30.10.2026 mit KI-Unterstützung erstellt, auf Basis der genannten Quellen eigenständig formuliert und redaktionell von IT-Tribus betreut. Alle Angaben ohne Gewähr – bitte prüfen Sie Befehle vor dem Einsatz in produktiven Umgebungen und legen Sie vorher eine Sicherung an.
Benötigen Sie Unterstützung bei Nginx Reverse Proxy SSL?
IT-Tribus ist Ihr IT-Dienstleister aus Nideggen. Vor Ort helfen wir in Düren, im Kreis Düren und in der Region Aachen – Monitoring und Fernwartung mit NinjaOne bieten wir Unternehmen auch überregional an.
