HTTPS für n8n: Reverse Proxy mit Caddy oder Nginx einrichten
So sichern Sie n8n mit Caddy oder Nginx per HTTPS ab und vermeiden die WEBHOOK_URL-Falle bei produktiven Webhooks.
HTTPS für n8n richten Sie ein, indem Sie einen Reverse Proxy wie Caddy oder Nginx vor die n8n-Instanz schalten. Der Proxy übernimmt die SSL-Verschlüsselung nach außen und leitet Anfragen intern unverschlüsselt an n8n weiter. Damit das funktioniert, muss n8n selbst wissen, unter welcher öffentlichen Adresse es erreichbar ist, sonst zeigt die Anwendung falsche Webhook-URLs an und Trigger aus externen Diensten laufen ins Leere. Die dafür zuständigen Variablen heißen WEBHOOK_URL und N8N_PROXY_HOPS. Stand: Juli 2026.
Warum reicht ein Reverse Proxy allein nicht aus?
Ein Reverse Proxy allein reicht nicht aus, weil n8n seine URLs standardmäßig aus den Variablen N8N_PROTOCOL, N8N_HOST und N8N_PORT zusammensetzt, die per Default auf http, localhost und den internen Port 5678 zeigen. Läuft n8n hinter Caddy oder Nginx, sieht die Anwendung intern weiterhin nur die HTTP-Verbindung auf Port 5678, während Nutzer und externe Dienste die Instanz über HTTPS auf Port 443 unter Ihrer eigenen Domain ansprechen. Diesen Bruch zwischen interner und externer Sicht muss der Proxy an n8n durchreichen. Die offizielle n8n-Dokumentation zu Webhook-URLs hinter Reverse Proxys beschreibt genau dieses Problem als Ausgangspunkt der Konfiguration.
Was ist die WEBHOOK_URL-Falle?
Die WEBHOOK_URL-Falle entsteht, wenn n8n zwar über HTTPS erreichbar ist, in der Oberfläche und bei der Registrierung neuer Webhooks aber weiterhin eine interne oder falsche Adresse verwendet. Für Sie als Betreiber sieht das oft erst harmlos aus, weil der Editor im Browser normal lädt. Sobald jedoch ein externer Dienst wie ein Formular-Tool oder eine Zahlungsplattform versucht, den registrierten Webhook aufzurufen, schlägt die Anfrage fehl, weil die hinterlegte URL nicht von außen erreichbar ist. Laut Dokumentation lösen Sie das, indem Sie WEBHOOK_URL manuell auf Ihre vollständige externe Adresse setzen, etwa https://n8n.ihre-domain.de/, und N8N_PROXY_HOPS auf die Anzahl der vorgeschalteten Proxys, in Single-Proxy-Setups also auf 1.
Welche Header muss Ihr Proxy an n8n weiterreichen?
Ihr Proxy muss mindestens drei Header an n8n durchreichen, damit die WEBHOOK_URL-Einstellung überhaupt greift. Die n8n-Dokumentation nennt dafür konkret die folgenden Header.
- X-Forwarded-Proto: teilt n8n mit, ob die ursprüngliche Anfrage per HTTP oder HTTPS beim Proxy ankam.
- X-Forwarded-Host: übergibt den vom Nutzer aufgerufenen Hostnamen, also Ihre eigentliche Domain statt des internen Namens.
- X-Forwarded-For: gibt die tatsächliche Client-IP weiter, die sonst hinter der IP-Adresse des Proxys verschwinden würde.
Fehlen diese Header oder ist N8N_PROXY_HOPS nicht korrekt gesetzt, ignoriert n8n die weitergereichten Informationen und fällt auf die internen Standardwerte zurück, selbst wenn WEBHOOK_URL gesetzt ist.
Caddy oder Nginx: Was passt zu Ihrem n8n-Setup?
Für n8n selbst spielt es keine Rolle, ob Sie Caddy oder Nginx als Reverse Proxy einsetzen, solange die genannten Header korrekt ankommen und WEBHOOK_URL sowie N8N_PROXY_HOPS gesetzt sind. Der Unterschied liegt im Betriebsaufwand: Caddy stellt und erneuert Zertifikate automatisch, während Sie bei Nginx die Zertifikatsausstellung selbst organisieren, etwa über Certbot, und die Header manuell in der Serverkonfiguration eintragen. Alternativ beschreibt die n8n-Dokumentation zum Einrichten von SSL auch einen Weg ganz ohne separaten Reverse Proxy: Sie setzen N8N_SSL_CERT und N8N_SSL_KEY, damit n8n Zertifikat und Schlüssel direkt selbst einliest. Dann tragen Sie aber auch selbst die Verantwortung für die rechtzeitige Erneuerung, was bei Caddy meist automatisch passiert.
Warum bricht der Login trotz korrektem Zertifikat manchmal weg?
Der Login bricht trotz korrektem Zertifikat manchmal weg, weil n8n Sitzungscookies standardmäßig als "secure" markiert, gesteuert über N8N_SECURE_COOKIE mit Default-Wert true. Ein als secure markiertes Cookie überträgt der Browser ausschließlich über eine tatsächlich verschlüsselte HTTPS-Verbindung. Erreicht die HTTPS-Information n8n nicht über X-Forwarded-Proto, hält n8n die Verbindung intern für unverschlüsselt und verwirft das Cookie, das Login-Formular scheitert dann ohne offensichtliche Fehlermeldung. WEBHOOK_URL, die Proxy-Header und N8N_SECURE_COOKIE hängen technisch zusammen und gehören deshalb immer gemeinsam geprüft.
Wenn Ihnen das für den produktiven Einsatz zu fehleranfällig ist, übernehmen wir bei NordFlux das Hosting-Setup im Rahmen unserer n8n-Leistungen zum Festpreis, inklusive der hier beschriebenen HTTPS- und Webhook-Konfiguration.
Häufige Fragen zu HTTPS für n8n
Muss ich WEBHOOK_URL manuell setzen, wenn mein Proxy schon SSL terminiert?
Ja, WEBHOOK_URL müssen Sie in nahezu jedem Reverse-Proxy-Setup manuell setzen, weil n8n die externe Adresse sonst nicht kennt. Der Proxy terminiert zwar die Verschlüsselung, ändert aber nichts daran, dass n8n intern weiterhin die Standardwerte aus N8N_PROTOCOL, N8N_HOST und N8N_PORT verwendet. Erst die explizite WEBHOOK_URL sorgt dafür, dass registrierte Webhooks die tatsächlich erreichbare Adresse enthalten.
Was ist der Unterschied zwischen Reverse Proxy und direkten SSL-Zertifikaten in n8n?
Der Unterschied liegt darin, wer die Verschlüsselung terminiert: Bei einem Reverse Proxy wie Caddy oder Nginx übernimmt der Proxy das Zertifikat, die Kommunikation zu n8n läuft intern per HTTP. Bei direkten Zertifikaten liest n8n Zertifikat und Schlüssel über N8N_SSL_CERT und N8N_SSL_KEY selbst ein und Sie verwalten die Erneuerung eigenständig.
Wie viele Proxy-Hops trage ich bei N8N_PROXY_HOPS ein, wenn Cloudflare vor Caddy oder Nginx läuft?
Bei einem einzelnen Reverse Proxy vor n8n tragen Sie 1 ein, bei einer zusätzlichen vorgeschalteten Ebene wie Cloudflare entsprechend höher. Der Wert muss exakt der Anzahl der Stationen entsprechen, die die Anfrage durchläuft, sonst wertet n8n die X-Forwarded-Header falsch aus. Im Zweifel testen Sie mit einem eingehenden Webhook-Aufruf, welche Client-IP n8n tatsächlich protokolliert.
Kann ich n8n auch ohne eigene Domain per HTTPS betreiben?
Technisch benötigen Caddy und die meisten kostenlosen Zertifikatsstellen eine Domain mit öffentlichem DNS-Eintrag, eine reine IP-Adresse reicht dafür in der Praxis nicht aus. Für produktive Webhooks aus externen Diensten brauchen Sie ohnehin eine stabile, öffentlich erreichbare Adresse, weshalb sich eine eigene Subdomain für n8n auch unabhängig vom Zertifikatsthema empfiehlt.
NordFlux UG (haftungsbeschränkt)
NordFlux baut Organisationen digitale Mitarbeiter: Automatisierungen und KI-Agenten, die wiederkehrende Arbeit abnehmen. Sie behalten die Kontrolle.
Konkrete Fragen zu Automatisierung oder KI?
In der kostenlosen Erstanalyse besprechen wir Ihren Fall direkt. Unverbindlich.