Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Cloudflare 521 Web Server Is Down Hatası: Nginx, Docker ve SSL ile Çözüm
Cloudflare 521, Nginx, Docker ve SSL

Cloudflare 521 Web Server Is Down Hatası: Docker Portainer + Nginx + SSL ile Gerçek Çözüm

Bu rehber, Ubuntu 24.04 VPS üzerinde Portainer'ı portainer.ekasunucu.com alan adına bağlarken gerçekten yaşadığımız Cloudflare Error 521 Web Server Is Down hatasını uçtan uca inceliyor. Portainer backend 127.0.0.1:9443 üzerinde çalışırken public origin 443/reverse proxy hazır değildi; Nginx kurulumu, local origin testi ve Let's Encrypt sertifikasıyla HTTPS origin zincirini tamamladık. Ayrıca aynı süreçte yaşanan Certbot core24 timeout hatasını 521'den ayrı bir problem olarak belgeliyoruz.

Cloudflare 521Web Server Is DownCloudflare Error 521Portainer CloudflareNginx reverse proxyCloudflare Full strictCloudflare originDocker PortainerLet's EncryptCertbotUbuntu 24.04origin port 443EKA Sunucu
Ollama / Qwen3 / Open WebUI / Ubuntu 24.04
Visitor
  ↓
Cloudflare
  ↓ HTTPS :443
Nginx Origin
  ↓
https://127.0.0.1:9443
  ↓
Portainer

Önce: :443 yok → 521
Sonra: Nginx + TLS → HTTPS 200
Ollama0.32.6Open WebUI0.11.0 test
13gerçek WebP ekranı
3TR · EN · DE içerik
443public HTTPS
127.0.0.1AI service loopback
01Cloudflare 521 gerçek nedeni
02Origin :443 + Nginx reverse proxy
03Let's Encrypt + Full (strict)
04521 / 522 / 525 / 526 farkı
00
İçindekiler

Cloudflare 521 hata tespit ve çözüm adımları

  1. 01Cloudflare Error 521 Web Server Is Down ne anlama gelir?
  2. 02521 görünce önce backend mi, origin web server mı bozuk ayırın
  3. 03Cloudflare DNS kaydı doğru origin sunucuya gidiyor mu kontrol edin
  4. 04SSL moduna uygun origin portu gerçekten dinliyor mu?
  5. 05Nginx kurup Portainer localhost 9443 upstreamine reverse proxy yapın
  6. 06Reverse proxy'de Host ve WebSocket headerlarını eksiksiz iletin
  7. 07Nginx origin zincirini Host header ile localhost üzerinden doğrulayın
  8. 08Certbot core24 timeout hatasını Cloudflare 521 ile karıştırmayın
  9. 09Let's Encrypt sertifikasını Nginx'e deploy edip HTTPS origin'i tamamlayın
  10. 10Origin hazırsa Cloudflare Full (strict) modunu tercih edin
  11. 11Origin firewall Cloudflare IP'lerini reddediyorsa aynı 521 hatası oluşabilir
  12. 12521, 522, 525 ve 526 hatalarını birbirine karıştırmayın
  13. 13Cloudflare 521 tekrarında DNS → backend → Nginx → 443 → HTTPS sırasıyla ilerleyin
01
Hata kodunu doğru okuyun

Cloudflare Error 521 Web Server Is Down ne anlama gelir?

Cloudflare'ın güncel dokümantasyonuna göre 521, origin web server Cloudflare bağlantısını reddettiğinde oluşur. En yaygın iki neden origin web serverın kapalı olması veya Cloudflare isteklerinin origin güvenlik katmanı tarafından engellenmesidir.

SSL/TLS modu Full veya Full (strict) ise Cloudflare origin'e HTTPS üzerinden ulaşır; originin 443 portunda aktif dinlemesi ve TLS sunabilmesi gerekir. Bizim gerçek Portainer akışında backend 9443 üzerinde sağlıklıydı fakat public origin reverse proxy/443 katmanı henüz hazır değildi.

Komut 1
Cloudflare Edge → Origin :443 → connection refused → 521
02
İlk ayrım

521 görünce önce backend mi, origin web server mı bozuk ayırın

Portainer'ın kendisi çalışmıyorsa önce containerı düzeltmeniz gerekir. Ancak 521 varken Portainer localhost 9443 üzerinden HTTP 200 dönüyorsa backend sağlıklıdır ve problem daha üst katmandadır: Nginx, TLS, firewall veya Cloudflare-origin bağlantısı.

Bu ayrım gereksiz yere backend portunu public açmanızı önler. Biz doğrudan 9443'ü internete açmak yerine localhostta bıraktık ve Nginx reverse proxy kurduk.

Komut 1
docker ps --filter name='^/portainer$'
Komut 2
curl -k -I https://127.0.0.1:9443
03
DNS kontrolü

Cloudflare DNS kaydı doğru origin sunucuya gidiyor mu kontrol edin

521 troubleshooting başlamadan önce hostname'in doğru origin IP'ye çözüldüğünü doğrulayın. Yanlış A/AAAA kaydı sizi tamamen farklı bir sunucunun port ve firewall problemleriyle uğraştırabilir.

Gerçek akışta Cloudflare DNS ve Google DNS sorgularıyla portainer.ekasunucu.com kaydı kontrol edildi. Troubleshooting sırasında proxy'yi geçici DNS-only yapmak doğrudan origin davranışını görmek için yardımcı olabilir; bu her sertifika kurulumunda zorunlu bir adım değildir.

Komut 1
dig +short A portainer.ekasunucu.com @1.1.1.1
Komut 2
dig +short A portainer.ekasunucu.com @8.8.8.8
04
Origin portu

SSL moduna uygun origin portu gerçekten dinliyor mu?

Cloudflare'ın 521 rehberi, SSL/TLS modunuz Full veya Full (strict) ise origin web serverın HTTPS için gerekli portta aktif dinlemesi gerektiğini özellikle belirtir. HTTPS origin akışında bu port 443'tür.

Bizim olayda Portainer kendi HTTPS servisini yalnız localhost 9443 üzerinde sunuyordu. Cloudflare doğrudan bunu bilemez; public 443 üzerinde bir web server/reverse proxy katmanı olmadan origin HTTPS bağlantısı reddedilebilir.

Komut 1
ss -lntp | grep -E ':443|:9443'
05
Çözüm katmanı

Nginx kurup Portainer localhost 9443 upstreamine reverse proxy yapın

Portainer uygulama portunu public yapmak yerine Nginx'i origin web server olarak kullandık. portainer.ekasunucu.com isteği Nginx tarafından https://127.0.0.1:9443 upstreamine iletildi.

Portainer localhost upstreaminde self-signed sertifika kullandığı için proxy_ssl_verify off yalnız bu local hop için kullanıldı. Public browser/Cloudflare tarafındaki origin TLS daha sonra Let's Encrypt sertifikasıyla Nginx üzerinde sonlandırıldı.

Komut 1
apt-get update && apt-get install -y nginx
Komut 2
proxy_pass https://127.0.0.1:9443;
Komut 3
proxy_ssl_verify off;
06
Portainer UI bağlantıları

Reverse proxy'de Host ve WebSocket headerlarını eksiksiz iletin

Portainer web arayüzü için normal proxy headerlarının yanında WebSocket upgrade desteğini korumak gerekir. Nginx'te HTTP/1.1, Upgrade ve Connection headerlarını upstream'e ilettik.

Bu adım 521'in temel bağlantı reddini çözmekten ayrıdır; 521 sonrası arayüz açılıp canlı bağlantılar sorun yaşarsa reverse proxy headerlarını kontrol etmek gerekir.

Komut 1
proxy_http_version 1.1;
Komut 2
proxy_set_header Host $host;
Komut 3
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Komut 4
proxy_set_header Upgrade $http_upgrade;
Komut 5
proxy_set_header Connection $connection_upgrade;
07
Cloudflare'dan önce test

Nginx origin zincirini Host header ile localhost üzerinden doğrulayın

Cloudflare proxy'yi tekrar devreye almadan önce origin web serverı kendi içinde test etmek troubleshooting süresini kısaltır. nginx -t, service status ve local Host header isteği üç farklı katmanı doğrular.

Gerçek reverse proxy kurulumu sonrasında local Nginx isteği 200 döndü. Böylece Portainer backend ve Nginx proxy zincirinin Cloudflare'dan bağımsız çalıştığını gördük.

Komut 1
nginx -t
Komut 2
systemctl is-active nginx
Komut 3
curl -sS -o /dev/null -w '%{http_code}\n' -H 'Host: portainer.ekasunucu.com' http://127.0.0.1/
08
Gerçek ikinci hata

Certbot core24 timeout hatasını Cloudflare 521 ile karıştırmayın

Let's Encrypt aşamasında gerçek testimizde Certbot snap kurulumu core24 paketini indirirken TCP timeout verdi. Bu, Cloudflare 521'in devamı değildi; VPS'in Canonical snap CDN'e erişiminde oluşan ayrı bir ağ problemiydi.

Ağ erişimi düzeldikten sonra snap/Certbot işlemi tekrarlandığında kurulum devam etti. Troubleshooting sırasında aynı anda birden fazla hata kodunu tek sebebe bağlamamak önemlidir.

Komut 1
snap install certbot --classic
Komut 2
snap changes
Komut 3
journalctl -u snapd --no-pager -n 100
09
Origin HTTPS

Let's Encrypt sertifikasını Nginx'e deploy edip HTTPS origin'i tamamlayın

Nginx HTTP vhost çalıştıktan sonra Certbot --nginx ile portainer.ekasunucu.com için sertifika alındı. Başarılı deploy sonrasında origin 443 üzerinde geçerli sertifika sunabilir hale geldi.

Origin HTTPS hazır olduktan sonra Full (strict) gibi sertifika doğrulayan Cloudflare modlarını güvenle kullanabilmek için temel gereksinimler tamamlanmış olur: 443 erişimi, süresi geçmemiş sertifika ve hostname eşleşmesi.

Komut 1
certbot --nginx -d portainer.ekasunucu.com
Komut 2
curl -I https://portainer.ekasunucu.com
Komut 3
certbot renew --dry-run
10
Cloudflare SSL/TLS

Origin hazırsa Cloudflare Full (strict) modunu tercih edin

Cloudflare'ın güncel dokümantasyonu, mümkün olduğunda Full (strict) modunu en güvenli seçenek olarak önerir. Bu mod edge ile origin arasında HTTPS kullanır ve origin sertifikasının geçerliliğini, süresini ve hostname eşleşmesini kontrol eder.

Let's Encrypt gibi public CA sertifikaları bu modelle kullanılabilir. Ancak Full (strict) seçmeden önce origin 443 ve sertifika zincirinin gerçekten çalıştığını test edin; aksi durumda farklı SSL hata kodlarıyla karşılaşabilirsiniz.

Komut 1
Visitor HTTPS → Cloudflare → HTTPS + certificate validation → Nginx origin :443
11
521 her zaman Nginx değildir

Origin firewall Cloudflare IP'lerini reddediyorsa aynı 521 hatası oluşabilir

Bizim gerçek vakamızda origin reverse proxy hazır değildi; ancak Cloudflare 521 için bu tek sebep değildir. Cloudflare resmi rehberi güvenlik yazılımlarının veya firewall kurallarının meşru Cloudflare IP adreslerini engellemesini de yaygın nedenler arasında sayar.

Nginx 443 üzerinde sağlıklı çalışıyor ve doğrudan origin testi başarılı olduğu halde 521 devam ediyorsa firewall, fail2ban, CSF/LFD, rate limit veya provider güvenlik katmanlarını inceleyin. Cloudflare IP aralıklarını rastgele tek IP bazında değil resmi güncel listeye göre yönetin.

Komut 1
tail -n 100 /var/log/nginx/error.log
Komut 2
journalctl -u nginx --no-pager -n 100
Komut 3
iptables -S
Komut 4
nft list ruleset
12
Doğru hata kodu

521, 522, 525 ve 526 hatalarını birbirine karıştırmayın

521 temel olarak originin Cloudflare bağlantısını reddetmesidir. 522, Cloudflare'ın origin bağlantısında timeout yaşamasıdır. 525 SSL handshake başarısızlığına, 526 ise Full (strict) sırasında geçersiz origin sertifikasına işaret eder.

Bu ayrım troubleshooting yönünü değiştirir. 521'de önce web server/listener/firewall; 522'de ulaşılabilirlik ve timeout; 525/526'da TLS handshake ve sertifika zinciri incelenmelidir.

Komut 1
521 → connection refused / origin down
Komut 2
522 → origin connection timeout
Komut 3
525 → SSL handshake failed
Komut 4
526 → invalid SSL certificate
13
60 saniyelik checklist

Cloudflare 521 tekrarında DNS → backend → Nginx → 443 → HTTPS sırasıyla ilerleyin

En hızlı troubleshooting sırası katmanları tek tek ayırmaktır. Önce DNS, sonra local backend, sonra Nginx config/service, ardından 443 socket ve son olarak gerçek HTTPS/domain testi yapılmalıdır.

Bu sırada backend portunu public açmayın. Amaç 521'i uygulama güvenliğini bozarak değil, doğru origin katmanını tamamlayarak çözmektir.

Komut 1
dig +short A portainer.ekasunucu.com
Komut 2
curl -k -I https://127.0.0.1:9443
Komut 3
nginx -t && systemctl is-active nginx
Komut 4
ss -lntp | grep -E ':443|:9443'
Komut 5
curl -I https://portainer.ekasunucu.com
Komut 6
tail -n 100 /var/log/nginx/error.log
Production checklist

Cloudflare origin ve reverse proxy güvenlik kontrol listesi

Backend container portunu 521 çözmek için doğrudan public internete açmayın.
Origin web serverın SSL moduna uygun portta gerçekten dinlediğini doğrulayın.
Full (strict) için geçerli ve hostname ile eşleşen origin sertifikası kullanın.
Cloudflare IP aralıklarını engelleyen firewall/rate-limit kurallarını kontrol edin.
Nginx error/access loglarını troubleshooting sırasında izleyin.
Local backend health ve public origin health testlerini ayrı ayrı yapın.
WebSocket kullanan uygulamalarda proxy Upgrade headerlarını koruyun.
Certbot renewal dry-run ile sertifika yenilemesini test edin.
Cloudflare proxy değişikliklerini yaptıktan sonra SSL/TLS modunu yeniden doğrulayın.
Cloudflare hata kodlarını aynı problem sanmadan 521/522/525/526 ayrımını yapın.
R
Resmî kaynaklar

Resmî Cloudflare, Nginx ve TLS kaynakları

+
EKA Sunucu

İlgili EKA Sunucu Cloudflare, Docker ve Portainer rehberleri

?
FAQ

Cloudflare 521 Web Server Is Down hakkında sık sorulan sorular

Cloudflare 521 ne demek?

Cloudflare origin web servera bağlanırken bağlantının origin tarafından reddedildiğini gösterir.

521 hatasının en yaygın nedenleri nelerdir?

Origin web serverın kapalı olması veya origin güvenlik katmanının Cloudflare isteklerini engellemesi Cloudflare'ın belirttiği yaygın nedenlerdir.

Portainer çalışırken neden 521 alabilirim?

Portainer yalnız localhost 9443 üzerinde çalışıyor fakat Cloudflare'ın erişeceği origin web server 443 üzerinde hazır değilse backend sağlıklı olsa da 521 görülebilir.

Full veya Full (strict) kullanırken origin hangi portta dinlemeli?

Standart HTTPS origin bağlantısı için origin web server 443 üzerinde aktif olmalıdır.

521 çözmek için Portainer 9443'ü public açmalı mıyım?

Hayır. Bu rehberde 9443 localhostta bırakılıp public erişim Nginx reverse proxy üzerinden verildi.

Nginx Portainer'a hangi adresle bağlandı?

https://127.0.0.1:9443 upstreami kullanıldı.

proxy_ssl_verify off neden kullanıldı?

Portainer localhost upstreamindeki self-signed sertifika için yalnız local proxy hopunda doğrulama kapatıldı; public origin TLS Let's Encrypt ile Nginx'te sonlandırıldı.

Cloudflare proxy'yi DNS only yapmak şart mı?

Hayır. Troubleshooting veya doğrudan origin testi için geçici olarak yararlı olabilir ama her sertifika kurulumunda zorunlu değildir.

Certbot core24 timeout 521 hatası mıydı?

Hayır. Gerçek testte bu Snap CDN'e erişimde ayrı bir TCP timeout problemiydi.

Full (strict) ne zaman kullanılmalı?

Origin 443 üzerinde geçerli, süresi dolmamış ve hostname ile eşleşen bir sertifika sunduğunda mümkünse Full (strict) tercih edilebilir.

521 ve 522 arasındaki fark nedir?

521 originin bağlantıyı reddetmesidir; 522 Cloudflare'ın origin bağlantısında timeout yaşamasıdır.

521 ve 526 arasındaki fark nedir?

521 bağlantı seviyesinde origin reddi; 526 ise sertifika doğrulaması sırasında geçersiz origin sertifikasıdır.

Nginx çalışıyor ama 521 devam ediyorsa ne kontrol edilmeli?

Firewall, fail2ban/CSF, rate limit ve Cloudflare IP blokları kontrol edilmelidir.

521 tekrarında en hızlı kontrol sırası nedir?

DNS, localhost backend, Nginx config/service, 443 listener, origin HTTPS ve error log sırasıyla kontrol edin.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Cloudflare + Nginx + Docker için Linux VPS mi arıyorsunuz?

Portainer, n8n, Open WebUI ve diğer self-hosted servisleri Nginx + TLS + Cloudflare mimarisiyle çalıştırmak için EKA Sunucu Linux VPS paketlerini inceleyebilirsiniz.

Güncellendi: 10.08.2026
Linux VPS Paketlerini İnceleLinux ve VPS Rehberleri
Top