n8n’i Nginx arkasında stabil çalıştırmak için reverse proxy, SSL, webhook URL, timeout ve güvenlik ayarlarında dikkat edilmesi gereken pratik noktalar.
n8n’i üretim ortamında yayınlarken yalnızca servisi ayağa kaldırmak yeterli değildir. Webhook çağrılarının doğru URL ile dönmesi, SSL yönlendirmelerinin bozulmaması, büyük iş akışlarında zaman aşımı yaşanmaması ve editör arayüzünün kesintisiz açılması için Nginx tarafında doğru reverse proxy yaklaşımı gerekir. Bu yapı özellikle Docker, VPS veya kurumsal sunucu ortamlarında n8n’in daha güvenilir çalışmasını sağlar.
Nginx, n8n uygulamasının internete güvenli ve kontrollü şekilde açılmasını sağlar. Kullanıcı tarayıcısından gelen istekleri n8n’in çalıştığı dahili porta iletir, HTTPS trafiğini yönetir ve alan adı üzerinden tutarlı erişim sunar. Doğru kurulmamış bir proxy yapısında editör ekranı açılabilir; ancak webhook URL’leri hatalı üretilebilir veya entegrasyonlar dış servislerden cevap alamayabilir.
Bu nedenle n8n Nginx yapılandırması yapılırken yalnızca port yönlendirme değil, header bilgileri, proxy timeout değerleri ve public URL ayarları birlikte değerlendirilmelidir.
n8n çoğunlukla 5678 portunda çalışır. Nginx ise 80 ve 443 portlarından gelen trafiği karşılayarak uygulamaya iletir. Aşağıdaki örnek, temel bir HTTPS reverse proxy yaklaşımını gösterir. Alan adı, sertifika yolu ve port bilgileri kendi ortamınıza göre güncellenmelidir.
server {
listen 443 ssl;
server_name n8n.example.com;
ssl_certificate /etc/letsencrypt/live/n8n.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/n8n.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
}
}
Buradaki header ayarları, n8n’in gerçek alan adını ve protokolü doğru algılaması için kritiktir. Özellikle X-Forwarded-Proto eksik olduğunda HTTPS arkasında çalışan sistem kendisini HTTP üzerinden erişiliyormuş gibi değerlendirebilir.
n8n’de en sık karşılaşılan sorunlardan biri webhook adreslerinin yanlış oluşmasıdır. Bunun nedeni genellikle uygulamanın dış dünyadaki gerçek adresini bilmemesidir. Bu durumda Nginx doğru çalışsa bile dış servisler callback veya webhook çağrılarında hatayla karşılaşabilir.
Üretim ortamında aşağıdaki değişkenlerin doğru tanımlanması stabilite açısından önemlidir:
Örneğin n8n adresiniz https://n8n.example.com ise WEBHOOK_URL değerinin de bu adresle uyumlu olması gerekir. Docker kullanılıyorsa bu değişkenler compose dosyasında açık ve tutarlı şekilde tanımlanmalıdır.
Uzun süren HTTP istekleri, dosya işleme adımları veya yoğun API senaryolarında Nginx varsayılan timeout değerleri yetersiz kalabilir. Kullanıcı arayüzünde işlem tamamlanmadan bağlantı kesiliyor, webhook yanıtı geç dönüyor veya 504 hatası alınıyorsa proxy timeout değerleri artırılmalıdır.
Ancak timeout değerlerini çok yüksek tutmak tek başına çözüm değildir. Ağır iş akışlarında n8n queue mode, worker yapısı ve veritabanı performansı da değerlendirilmelidir. Küçük kurulumlarda tek instance yeterli olabilir; fakat düzenli ve yüksek hacimli otomasyonlarda PostgreSQL, Redis ve worker mimarisi daha sağlıklı bir tercih olur.
HTTP’den HTTPS’ye yönlendirme yapılmalı, ancak bu yönlendirme döngü oluşturmayacak şekilde kurgulanmalıdır. Nginx üzerinde 80 portundan gelen trafiği 443’e almak yeterlidir. Ayrıca n8n editör erişimi herkese açık kalacaksa güçlü kullanıcı doğrulaması, IP kısıtlaması veya ek güvenlik katmanları değerlendirilmelidir.
Kurumsal kullanımlarda n8n’in doğrudan IP üzerinden erişilebilir olmaması önerilir. Uygulama yalnızca Nginx üzerinden yayınlanmalı, dahili port güvenlik duvarı ile dış erişime kapatılmalıdır. Bu yaklaşım hem saldırı yüzeyini azaltır hem de tüm trafiğin tek noktadan izlenmesini kolaylaştırır.
n8n Nginx yapılandırması tamamlandıktan sonra editör ekranının açılması tek başına yeterli kabul edilmemelidir. Webhook test edilmeli, HTTPS sertifikası doğrulanmalı, dış servislerden gelen çağrılar izlenmeli ve Nginx hata günlükleri kontrol edilmelidir.
Bu kontroller düzenli yapıldığında n8n, Nginx arkasında daha öngörülebilir çalışır; webhook tabanlı otomasyonlar, editör erişimi ve dış servis entegrasyonları aynı alan adı ve güvenli bağlantı üzerinden kararlı şekilde yönetilebilir.