n8n için HTTPS: Caddy veya Nginx ile ters proxy kurulumu
n8n'i Caddy veya Nginx ile HTTPS üzerinden nasıl güvence altına alacağınız ve üretim webhook'larında WEBHOOK_URL tuzağından nasıl kaçınacağınız.
n8n için HTTPS'i, n8n örneğinin önüne Caddy veya Nginx gibi bir ters proxy yerleştirerek kurarsınız. Proxy, dışa yönelik SSL şifrelemesini üstlenir ve istekleri dahili olarak şifrelenmemiş şekilde n8n'e iletir. Bunun çalışması için n8n'in kendisinin hangi genel adres altında erişilebilir olduğunu bilmesi gerekir, aksi takdirde uygulama yanlış webhook URL'leri gösterir ve harici hizmetlerden gelen tetikleyiciler boşa çalışır. Bunun için gereken değişkenler WEBHOOK_URL ve N8N_PROXY_HOPS olarak adlandırılır. Durum: Temmuz 2026.
Neden tek başına bir ters proxy yeterli değildir?
Tek başına bir ters proxy yeterli değildir, çünkü n8n varsayılan olarak URL'lerini N8N_PROTOCOL, N8N_HOST ve N8N_PORT değişkenlerinden oluşturur ve bunlar varsayılan olarak http, localhost ve dahili 5678 portunu gösterir. n8n Caddy veya Nginx arkasında çalışıyorsa, uygulama dahili olarak hala yalnızca 5678 portundaki HTTP bağlantısını görürken, kullanıcılar ve harici hizmetler örneğe kendi alan adınız altında 443 portu üzerinden HTTPS ile erişir. Proxy, iç ve dış görünüm arasındaki bu farkı n8n'e iletmelidir. Ters proxy'ler arkasındaki webhook URL'leri hakkındaki resmi n8n belgeleri tam olarak bu sorunu yapılandırmanın başlangıç noktası olarak açıklar.
WEBHOOK_URL tuzağı nedir?
WEBHOOK_URL tuzağı, n8n HTTPS üzerinden erişilebilir olsa da arayüzde ve yeni webhook kaydında hala dahili veya yanlış bir adresin kullanılmasıyla ortaya çıkar. Bir operatör olarak sizin için bu genellikle önce zararsız görünür, çünkü editör tarayıcıda normal şekilde yüklenir. Ancak bir form aracı veya ödeme platformu gibi harici bir hizmet kayıtlı webhook'u çağırmayı denediğinde, kayıtlı URL dışarıdan erişilemediği için istek başarısız olur. Belgelere göre bunu, WEBHOOK_URL'yi manuel olarak tam harici adresinize, örneğin https://n8n.alan-adiniz.com/, ve N8N_PROXY_HOPS'u önündeki proxy sayısına, yani tek proxy kurulumlarında 1'e ayarlayarak çözersiniz.
Proxy'niz n8n'e hangi başlıkları iletmelidir?
WEBHOOK_URL ayarının etkili olabilmesi için proxy'nizin n8n'e en az üç başlığı iletmesi gerekir. n8n belgeleri bunun için özellikle aşağıdaki başlıkları belirtir.
- X-Forwarded-Proto: orijinal isteğin proxy'ye HTTP mi yoksa HTTPS ile mi geldiğini n8n'e bildirir.
- X-Forwarded-Host: kullanıcının çağırdığı ana bilgisayar adını, yani dahili ad yerine gerçek alan adınızı iletir.
- X-Forwarded-For: aksi takdirde proxy'nin IP adresinin arkasında kaybolacak olan gerçek istemci IP'sini iletir.
Bu başlıklar eksikse veya N8N_PROXY_HOPS doğru ayarlanmamışsa, n8n iletilen bilgileri yok sayar ve WEBHOOK_URL ayarlanmış olsa bile dahili varsayılan değerlere geri döner.
Caddy mi Nginx mi: n8n kurulumunuza hangisi uygundur?
n8n'in kendisi için Caddy veya Nginx'i ters proxy olarak kullanmanız, belirtilen başlıklar doğru şekilde geldiği ve WEBHOOK_URL ile N8N_PROXY_HOPS ayarlandığı sürece önemli değildir. Fark işletim çabasında yatar: Caddy sertifikaları otomatik olarak verir ve yeniler, Nginx'te ise sertifika verilmesini örneğin Certbot üzerinden kendiniz organize eder ve başlıkları sunucu yapılandırmasına manuel olarak girersiniz. Alternatif olarak SSL kurulumu hakkındaki n8n belgeleri ayrı bir ters proxy olmadan bir yol da tanımlar: n8n'in sertifika ve anahtarı doğrudan kendisinin okuması için N8N_SSL_CERT ve N8N_SSL_KEY'i ayarlarsınız. Ancak bu durumda zamanında yenilemenin sorumluluğunu da kendiniz üstlenirsiniz, bu Caddy'de genellikle otomatik olarak gerçekleşir.
Doğru sertifikaya rağmen giriş neden bazen başarısız olur?
Giriş, doğru sertifikaya rağmen bazen başarısız olur çünkü n8n oturum çerezlerini varsayılan olarak "secure" olarak işaretler; bu, varsayılan değeri true olan N8N_SECURE_COOKIE üzerinden kontrol edilir. Secure olarak işaretlenmiş bir çerez tarayıcı tarafından yalnızca gerçekten şifrelenmiş bir HTTPS bağlantısı üzerinden iletilir. HTTPS bilgisi n8n'e X-Forwarded-Proto üzerinden ulaşmazsa, n8n bağlantıyı dahili olarak şifrelenmemiş kabul eder ve çerezi reddeder; giriş formu daha sonra belirgin bir hata mesajı olmadan başarısız olur. WEBHOOK_URL, proxy başlıkları ve N8N_SECURE_COOKIE teknik olarak birbirine bağlıdır ve bu nedenle her zaman birlikte kontrol edilmelidir.
Bu, üretim ortamında kullanım için sizin için hataya çok açık geliyorsa, NordFlux olarak barındırma kurulumunu n8n hizmetlerimiz kapsamında sabit fiyatla, burada açıklanan HTTPS ve webhook yapılandırması dahil olmak üzere biz üstleniyoruz.
n8n için HTTPS hakkında sıkça sorulan sorular
Proxy'm zaten SSL'i sonlandırıyorsa WEBHOOK_URL'yi manuel olarak ayarlamam gerekir mi?
Evet, neredeyse her ters proxy kurulumunda WEBHOOK_URL'yi manuel olarak ayarlamanız gerekir, çünkü aksi takdirde n8n harici adresi bilmez. Proxy şifrelemeyi sonlandırır, ancak bu, n8n'in dahili olarak N8N_PROTOCOL, N8N_HOST ve N8N_PORT'tan gelen varsayılan değerleri kullanmaya devam etmesini değiştirmez. Yalnızca açık WEBHOOK_URL, kayıtlı webhook'ların gerçekten erişilebilir adresi içermesini sağlar.
n8n'de ters proxy ile doğrudan SSL sertifikaları arasındaki fark nedir?
Fark, şifrelemeyi kimin sonlandırdığındadır: Caddy veya Nginx gibi bir ters proxy ile proxy sertifikayı üstlenir, n8n ile iletişim dahili olarak HTTP üzerinden yürür. Doğrudan sertifikalarda n8n, sertifika ve anahtarı N8N_SSL_CERT ve N8N_SSL_KEY üzerinden kendisi okur ve yenilemeyi siz kendiniz yönetirsiniz.
Cloudflare, Caddy veya Nginx'in önünde çalışıyorsa N8N_PROXY_HOPS için kaç proxy sıçraması girmeliyim?
n8n'in önünde tek bir ters proxy varsa 1 girersiniz, Cloudflare gibi ek bir üst katman varsa buna göre daha yüksek bir değer girersiniz. Değer, isteğin geçtiği istasyon sayısına tam olarak karşılık gelmelidir, aksi takdirde n8n X-Forwarded başlıklarını yanlış değerlendirir. Şüpheniz varsa, n8n'in gerçekte hangi istemci IP'sini kaydettiğini gelen bir webhook çağrısıyla test edin.
n8n'i kendi alan adım olmadan da HTTPS üzerinden çalıştırabilir miyim?
Teknik olarak Caddy ve çoğu ücretsiz sertifika yetkilisi, genel bir DNS kaydına sahip bir alan adı gerektirir; sadece bir IP adresi bunun için pratikte yeterli değildir. Harici hizmetlerden gelen üretim webhook'ları için zaten kararlı, herkese açık olarak erişilebilir bir adrese ihtiyacınız vardır, bu nedenle n8n için kendi alt alan adınız sertifika konusundan bağımsız olarak da tavsiye edilir.
NordFlux UG (haftungsbeschränkt)
NordFlux, kuruluşlar için dijital çalışanlar kurar: tekrar eden işleri üstlenen otomasyonlar ve KI ajanları. Kontrol sizde kalır.
Otomasyon veya KI hakkında somut sorularınız mı var?
Ücretsiz bir ön analizde durumunuzu doğrudan görüşürüz. Bağlayıcı değildir.