Cloudflare Hata 520 Nasıl Düzeltilir: Eksiksiz Tanılama ve Çözüm Kılavuzu
Cloudflare Hatası 520, Cloudflare’ın uç ağının kaynak sunucunuzdan boş, beklenmedik veya başka türlü yorumlanamayan bir yanıt aldığında döndürdüğü bir HTTP durum kodudur. Bir ağ geçidi zaman aşımı veya hatalı ağ geçidini gösteren 502 veya 504’ün aksine, 520, Cloudflare’ın tanınan herhangi bir HTTP spesifikasyonunun dışında kalan yanıtlar için kullandığı genel bir hata kodudur; bu, kaynak sunucunun teknik olarak yanıt verdiği ancak gönderdiği içeriğin geçersiz, kesilmiş veya yapısal olarak hatalı biçimlendirilmiş olduğu anlamına gelir.
Pratik açıdan bakıldığında, Hata 520, Cloudflare ile kaynak sunucunuz arasındaki TCP bağlantısının kurulduğu ancak HTTP katmanı el sıkışmasının bozulduğu anlamına gelir. Kullanıcı, “Web sunucusu bilinmeyen bir hata döndürüyor” mesajıyla Cloudflare markalı bir hata sayfası görür ve siteniz onlar için fiilen çevrimdışı olur.
Hata 520’yi Tetikleyen Şeyler: Temel Nedenler Açıklandı
Herhangi bir yapılandırmaya dokunmadan önce tam arıza modunu anlamak çok önemlidir. Hata 520 tek bir sorun değildir; bir belirti sınıfıdır. Aşağıdaki nedenler, üretim ortamlarında sıklık sırasına göre sıralanmış en yaygın olanlardır.
Kaynak sunucunun HTTP durum satırı olmadan boş bir yanıt gövdesi döndürmesi. Bu en sık karşılaşılan tetikleyicidir. Apache veya Nginx, yanıt ortasında çökerek Cloudflare’ı veri gelmeyen açık bir TCP soketiyle baş başa bırakabilir.
Güvenlik duvarı veya güvenlik yazılımının Cloudflare’ın IP aralıklarını engellemesi. ModSecurity, Fail2Ban, CSF (ConfigServer Security & Firewall) gibi araçlar veya Wordfence gibi uygulama katmanı eklentileri, Cloudflare’ın çıkış IP’lerinden gelen paketleri sessizce düşürerek bağlantının uygun bir HTTP yanıtı olmadan sıfırlanmasına neden olabilir.
Cloudflare ile kaynak arasında SSL/TLS el sıkışması uyumsuzluğu. Cloudflare “Full (Strict)” moduna ayarlanmışsa ancak kaynak sunucunuzda süresi dolmuş, kendinden imzalı veya yanlış yapılandırılmış bir sertifika varsa, herhangi bir HTTP verisi alışverişi yapılmadan önce TLS müzakeresi başarısız olur.
Hatalı biçimlendirilmiş veya aşırı büyük HTTP yanıt başlıkları. Cloudflare, yanıt başlıklarında 32 KB gibi katı bir sınır uygular. Bu sınırı aşan tek bir başlık veya birleşik başlık seti 520 hatasına neden olur. Bu, büyük oturum verilerini veya hata ayıklama çıktısını başlıklara döken kötü yazılmış PHP uygulamalarında yaygın görülen bir uç durumdur.
Kaynak sunucu sürecinin çökmesi veya OOM (Out-of-Memory) sonlandırması. Web sunucusu çalışan süreci (örneğin, bir Nginx çalışanı veya PHP-FPM havuzu) istek ortasında Linux OOM killer tarafından sonlandırılırsa bağlantı aniden kesilir.
Başlıklar gönderilmeden önce uygulama düzeyinde istisnalar. res.writeHead() çağrılmadan önce meydana gelen ölümcül bir PHP hatası, işlenmemiş bir Python istisnası veya bir Node.js çökmesi, Cloudflare’ın ayrıştıramayacağı boş bir yanıtla sonuçlanır.
Kaynak tarafından bağlantı sıfırlama (TCP RST). Kaynak sunucu, TCP bağlantısını etkin olarak sıfırlar ve Cloudflare bunu bilinmeyen bir yanıt olarak yorumlar.
Hata 520 ile Diğer Cloudflare 5xx Hataları Arasındaki Fark
520’yi benzer Cloudflare hatalarından ayırt etmek, boşa harcanan tanılama çabasını önler.
| Hata Kodu | Anlamı | Birincil Neden |
|---|
| — | — | — |
|---|
| 520 | Kaynaktan bilinmeyen/beklenmedik yanıt | Boş yanıt, hatalı biçimlendirilmiş başlıklar, TCP RST |
|---|
| 521 | Kaynak sunucu bağlantıyı reddetti | Kaynak web sunucusu çalışmıyor; port 80/443 dinlenmiyor |
|---|
| 522 | Bağlantı zaman aşımına uğradı | Kaynak, TCP bağlantısını kabul etmek için çok uzun süre bekledi |
|---|
| 523 | Kaynağa ulaşılamıyor | Kaynak IP’ye DNS çözümleme hatası veya yönlendirme sorunu |
|---|
| 524 | Zaman aşımı oluştu | TCP bağlandı ancak kaynak yanıt vermek için çok uzun süre bekledi |
|---|
| 525 | SSL el sıkışması başarısız oldu | TLS sertifikası uyumsuzluğu veya şifre uyumsuzluğu |
|---|
| 526 | Geçersiz SSL sertifikası | Kaynak sertifikası Cloudflare tarafından güvenilir bulunmuyor |
|---|
| 502/504 | Hatalı/Ağ geçidi zaman aşımı | Yukarı akış proxy veya yük dengeleyici arızası |
|---|
521 görüyorsanız, web sunucusu süreciniz çalışmıyor demektir. 524 görüyorsanız, uygulamanız çalışıyor ancak çok yavaş demektir. 520 görüyorsanız, sunucu çalışıyor ve yanıt veriyor; ancak gönderdiği içerik bozuk demektir.
Hata 520 için Adım Adım Düzeltme
Adım 1: Kaynak Sunucu Sağlığını ve Bağlantısını Doğrulayın
Cloudflare’a dokunmadan önce, kaynak sunucunun çalışır durumda olduğunu ve web sunucusu arka plan programının çalıştığını doğrulayın.
Web sunucusu sürecinin etkin olup olmadığını kontrol edin:
# For Nginx
sudo systemctl status nginx
# For Apache
sudo systemctl status apache2
# For LiteSpeed
sudo systemctl status lswsCloudflare’ın proxy’sini atlayarak kaynak IP’ye doğrudan bağlantıyı test edin. Kaynak IP’nizi Cloudflare DNS panosundan alın, ardından doğrudan test edin:
curl -I --resolve yourdomain.com:80:YOUR_ORIGIN_IP http://yourdomain.com/
curl -I --resolve yourdomain.com:443:YOUR_ORIGIN_IP https://yourdomain.com/curl geçerli bir HTTP durumu (200, 301 vb.) döndürürse, kaynak sunucu işlevseldir ve sorun Cloudflare’dan kaynağa iletişim katmanındadır. curl boş bir yanıt veya bağlantı sıfırlama döndürürse, sorun kaynak taraftadır.
Sistem kaynak baskısını kontrol edin:
# Memory usage
free -h
# CPU load
uptime
# Check for OOM kills in the last boot
dmesg | grep -i "oom|killed process"
# Check for PHP-FPM pool exhaustion
sudo systemctl status php8.1-fpmAdım 2: Kaynak Sunucu Hata Günlüklerini İnceleyin
Kaynak sunucu günlükleri, en değerli tek tanılama kaynağıdır. Bu adımı atlamayın.
Nginx için:
sudo tail -n 100 /var/log/nginx/error.log
sudo tail -n 100 /var/log/nginx/access.logApache için:
sudo tail -n 100 /var/log/apache2/error.log
sudo tail -n 100 /var/log/apache2/access.logÖzellikle şunları arayın:
[crit]veya[emerg]düzeyindeki girişlerupstream prematurely closed connection(Nginx + PHP-FPM)Premature end of script headers(Apache + CGI/PHP)worker_connections are not enough(Nginx çalışan sınırına ulaşıldı)- Web sunucusu hata günlüğüne kaydedilen PHP ölümcül hataları
Günlük zaman damgalarını 520 hatalarının oluştuğu zamanla çapraz referanslayın. Analytics > Traffic altındaki Cloudflare panosu, korelasyon için kullanabileceğiniz 520 ani artış zaman damgalarını gösterir.
Adım 3: Güvenlik Duvarınızda Cloudflare IP Aralıklarını Beyaz Listeye Alın
Bir güvenlik duvarı Cloudflare’ın çıkış IP’lerini engelliyorsa, bağlantı sessizce sıfırlanacaktır. Cloudflare, mevcut IP aralıklarını https://www.cloudflare.com/ips/ adresinde yayımlamaktadır.
UFW (Ubuntu/Debian) için:
# Download Cloudflare IPv4 ranges and whitelist them
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
sudo ufw allow from $ip to any port 80,443 proto tcp
done
# Repeat for IPv6
for ip in $(curl -s https://www.cloudflare.com/ips-v6); do
sudo ufw allow from $ip to any port 80,443 proto tcp
done
sudo ufw reloadCSF (ConfigServer Firewall) için:
Cloudflare’ın IP aralıklarını /etc/csf/csf.allow dosyasına ekleyin, ardından CSF’yi yeniden başlatın:
sudo csf -rModSecurity için: ModSecurity’nin suçlu olduğundan şüpheleniyorsanız, denetim günlüğünü kontrol edin:
sudo tail -n 200 /var/log/modsec_audit.logCloudflare IP adresleriyle eşleşen kural eşleşmelerini arayın. ModSecurity yapılandırmanızda Cloudflare IP’lerini beyaz listeye alabilir veya bunları hariç tutmak için SecRemoteRules yönergesini ayarlayabilirsiniz.
Kritik not: Güvenlik duvarınızı veya ModSecurity’yi kalıcı olarak asla devre dışı bırakmayın. Yalnızca Cloudflare’ın yayımladığı IP aralıklarını beyaz listeye alın ve testlerin hemen ardından tüm güvenlik kontrollerini yeniden etkinleştirin.
Adım 4: HTTP Yanıt Başlıklarını Denetleyin ve Düzeltin
Hatalı biçimlendirilmiş veya aşırı büyük başlıklar, 520 hatalarının sıkça gözden kaçan bir nedenidir. Kaynağınızın tam olarak ne gönderdiğini incelemek için ayrıntılı çıktıyla curl kullanın:
curl -v --resolve yourdomain.com:443:YOUR_ORIGIN_IP https://yourdomain.com/ 2>&1 | head -80Şunlara dikkat edin:
- ASCII olmayan karakterler veya kontrol karakterleri içeren başlıklar
- Aşırı uzun değerlere sahip
Set-Cookiebaşlıkları (PHP oturum yanlış yapılandırmalarında yaygındır) - Eksik veya hatalı biçimlendirilmiş
Content-Typebaşlıkları - Çakışan değerlere sahip yinelenen
Content-Lengthbaşlıkları
Bir PHP uygulaması çalıştırıyorsanız, output_buffering ayarları için php.ini dosyasını kontrol edin. Devre dışı bırakılmış bir çıktı tamponu ile yanıt ortasında meydana gelen ölümcül bir hata, kısmi başlık iletisimine neden olabilir.
Özellikle WordPress siteleri için: HTTP başlıklarına büyük miktarda veri enjekte eden eklentiler (bazı güvenlik veya önbellekleme eklentileri bunu yapar), başlık boyutunu Cloudflare’ın 32 KB sınırının ötesine itebilir. Etkin eklentileri denetleyin ve güvenli modda test edin.
Adım 5: Cloudflare SSL/TLS Yapılandırmasını Doğrulayın
Cloudflare ile kaynak arasındaki SSL uyumsuzluğu, genel bilinmeyen hata olarak kendini gizleyen 520 sınıfı arızaların yaygın bir kaynağıdır.
Cloudflare Panosu > SSL/TLS > Genel Bakış bölümüne gidin ve şifreleme modunu doğrulayın:
| Cloudflare SSL Modu | Kaynak Gereksinimi | Önerilen Kullanım |
|---|
| — | — | — |
|---|
| Kapalı | Kaynakta SSL yok | Hiçbir zaman önerilmez |
|---|
| Esnek | Kaynakta SSL gerekmez | Yalnızca eski kurulumlar; güvenlik riski |
|---|
| Tam | Kaynakta herhangi bir SSL sertifikası (kendinden imzalı dahil) | Geliştirme ortamları |
|---|
| Tam (Katı) | Kaynakta geçerli, güvenilir SSL sertifikası | Tüm üretim siteleri |
|---|
Kaynağınız kendinden imzalı bir sertifika kullanıyorsa ve Cloudflare Full (Strict) moduna ayarlanmışsa, TLS el sıkışması başarısız olacaktır. Kaynağa geçerli bir sertifika yükleyin (ücretsiz bir Let’s Encrypt sertifikası işe yarar) veya sertifikayı düzeltirken geçici olarak Full moduna geçin.
Kaynak sunucunuz için düzgün güvenilir bir sertifikaya ihtiyaç duyuyorsanız, güvenilir bir CA’dan alınan SSL Sertifikaları, kendinden imzalı sertifika sorununu tamamen ortadan kaldırır ve Cloudflare’ın Full (Strict) moduyla uyumludur.
Adım 6: Hedefli Tanılama için Cloudflare Proxy’yi Duraklatın
Cloudflare’ı istek yolundan geçici olarak kaldırmak, sorunun Cloudflare’ın yapılandırmasında mı yoksa kaynak sunucuda mı olduğunu izole eder.
Yöntem 1: Belirli bir DNS kaydında proxy’yi devre dışı bırakın
Cloudflare DNS panosunda, A veya CNAME kaydınızın yanındaki turuncu bulut simgesine tıklayarak gri yapın. Bu, DNS çözümlemesini Cloudflare üzerinden tutarken Cloudflare’ın proxy’sini atlar. DNS yayılımı 5 dakikaya kadar sürebilir.
Yöntem 2: Alan adı için Cloudflare’ı genel olarak duraklatın
Cloudflare Panosu > Genel Bakış > Gelişmiş İşlemler > Sitede Cloudflare’ı Duraklat bölümüne gidin. Bu, tüm trafiği doğrudan kaynağınıza yönlendirir.
Duraklatmanın ardından sitenizi test edin. Doğru yükleniyorsa, sorun Cloudflare’ın yapılandırmasındadır. Hâlâ başarısız oluyorsa, sorun Cloudflare’dan bağımsız olarak kaynak sunucudadır.
Testlerin hemen ardından Cloudflare’ı yeniden etkinleştirin — duraklatılmış bir Cloudflare, sitenizin DDoS korumasını, CDN önbelleklemesini ve WAF kapsamını kaybetmesi anlamına gelir.
Adım 7: DNS Kaydı Doğruluğunu Kontrol Edin
Yanlış veya eski bir IP adresine işaret eden hatalı yapılandırılmış bir DNS A kaydı, Cloudflare’ın trafiği yanlış sunucuya proxy yapmasına neden olur ve bu sunucu beklenmedik bir yanıt döndürür.
Cloudflare DNS panosunda:
- Kök alan adınız (
@) için A kaydının mevcut kaynak sunucu IP’nize işaret ettiğini doğrulayın wwwiçin CNAME’in doğru çözümlendiğini doğrulayın- Yakın zamanda sunucu taşıdıysanız, eski IP’nin hiçbir yerde referans gösterilmediğini onaylayın
Cloudflare’ın trafiği gerçekte hangi IP’ye gönderdiğini onaylayın:
dig +short yourdomain.com @1.1.1.1Bunu gerçek kaynak sunucu IP’nizle karşılaştırın. Farklılarsa, Cloudflare’daki DNS kaydını güncelleyin.
Adım 8: Kaynak Sunucu Kaynaklarını Ölçeklendirin
Kaynak sunucunuz sürekli yüksek yük altındaysa, çalışan süreçler tükenip bağlantılar düşürüldükçe trafik artışları sırasında 520 hataları aralıklı olarak meydana gelecektir.
Kaynak tükenmesini tanılayın:
# Check Nginx worker connections
sudo nginx -T | grep worker_connections
# Check PHP-FPM pool limits
cat /etc/php/8.1/fpm/pool.d/www.conf | grep -E "pm.|max_children"
# Monitor real-time connections
ss -sDonanım yükseltmesi olmadan ayarlama seçenekleri:
/etc/nginx/nginx.confdosyasındaworker_connectionsdeğerini artırın- PHP-FPM havuz yapılandırmasında
pm.max_childrendeğerini artırın - Yukarı akış bağlantıları için Nginx’in
keepaliveyönergesini etkinleştirin - Veritabanı baskısını azaltmak için nesne önbelleklemesini (Redis veya Memcached) uygulayın
- Statik varlık dağıtımını boşaltmak için Cloudflare’ın Her Şeyi Önbelleğe Al sayfa kuralını etkinleştirin
Paylaşımlı altyapıyı aşmış uygulamalar için VPS Hosting ortamına geçiş, çalışan süreç sınırları, bellek tahsisi ve çekirdek düzeyinde TCP ayarlaması üzerinde tam kontrol sağlar; bunların hiçbiri paylaşımlı planlarda mevcut değildir.
Uygulamanız aralıklı çalışan çökmelerine neden olan hesaplama yoğun iş yüklerini (ML çıkarımı, video işleme, büyük veri kümesi işlemleri) işliyorsa, GPU Hosting bu görevleri web sunucusu süreçlerinden boşaltarak yanıt ortası çökmelerin yaygın bir kaynağını ortadan kaldırır.
Adım 9: Cloudflare Güvenlik Duvarı ve Güvenlik Kurallarını İnceleyin
Cloudflare’ın kendi güvenlik özellikleri, özellikle özel Güvenlik Duvarı Kuralları veya WAF kuralları yanlış yapılandırılmışsa, zaman zaman meşru kaynak iletişimine müdahale edebilir.
Kaynağa ulaşmadan önce istekleri engelleyebilecek kurallar için Cloudflare Panosu > Güvenlik > WAF > Özel Kurallar bölümünü kontrol edin. Ayrıca Güvenlik > Ayarlar > Tarayıcı Bütünlük Kontrolü bölümünü inceleyin — nadir durumlarda bu, belirli kullanıcı aracıları veya otomatik isteklerle beklenmedik davranışlara neden olabilir.
Kaynağınıza ulaşması gereken istekleri Cloudflare’ın engelleyip engellemediğini veya meydan okuyup okumadığını görmek için Güvenlik > Olaylar günlüğünü inceleyin.
Adım 10: Hosting Sağlayıcınıza veya Cloudflare Desteğine Yükseltin
Yukarıdaki tüm adımlar çözüm olmadan tüketildiyse, kesin bilgilerle yükseltin.
Hosting sağlayıcınızla iletişime geçerken şunları sağlayın:
- 520 oluşumlarının tam zaman damgaları (Cloudflare Analytics’ten)
- Web sunucusu hata günlüğünden ilgili alıntılar
- Kaynak IP’nize karşı
curl -vçıktısı - Mevcut kaynak kullanım metrikleri (CPU, RAM, bağlantı sayısı)
Dedicated Sunucular üzerinde yönetilen altyapı işleten sağlayıcılar, paylaşımlı ortamlarda mevcut olmayan çekirdek düzeyinde tanılamalar, paket yakalamaları (tcpdump) ve soket düzeyinde inceleme gerçekleştirebilir.
Cloudflare Desteği ile iletişime geçerken şunları ekleyin:
- 520 hata sayfasındaki Ray ID’niz (Cloudflare hata HTML’sinde görünür)
- Hata sırasında Chrome DevTools’tan yakalanan bir HAR dosyası
- Mevcut SSL/TLS modunuz ve özel Güvenlik Duvarı Kurallarınız
Ray ID kritik öneme sahiptir — Cloudflare mühendislerinin başarısız isteğiniz için tam uç düğüm günlük girişini çekmesine olanak tanır.
Gelişmiş Tanılama: tcpdump ile Tam Arızayı Yakalama
Standart sorun gidermeye direnen kalıcı veya aralıklı 520 hataları için, kaynak sunucuda bir paket yakalama işlemi, Cloudflare bağlandığında TCP/HTTP katmanında tam olarak ne olduğunu ortaya koyar.
# Capture traffic from Cloudflare IPs on port 443
sudo tcpdump -i eth0 -w /tmp/cloudflare_capture.pcap 'src net 103.21.244.0/22 or src net 103.22.200.0/22 or src net 103.31.4.0/22 or src net 104.16.0.0/13 or src net 104.24.0.0/14' and port 443Elde edilen .pcap dosyasını Wireshark’ta açın ve kaynağın bağlantıları etkin olarak sıfırladığını gösteren TCP RST paketlerini tanımlamak için tcp.flags.reset == 1 filtresini uygulayın. Gönderilen kısmi HTTP yanıtlarını incelemek için http filtresini kullanın.
Bu düzeydeki analiz, 520’nin bir güvenlik duvarı RST’sinden mi, yanıt ortasında bir uygulama çökmesinden mi yoksa bir TLS hatasından mı kaynaklandığını kesin olarak belirler.
Hata 520’yi Önleme: Proaktif Önlemler
Reaktif sorun giderme maliyetlidir. Bu önlemler, 520 oluşma olasılığını önemli ölçüde azaltır.
Cloudflare Sağlık Kontrollerini uygulayın. Traffic > Health Checks altında, kaynağınıza karşı bir sağlık kontrolü yapılandırın. Cloudflare, kullanıcılar 520 hatalarını görmeye başlamadan önce sizi uyaracaktır.
Cloudflare’ın Her Zaman Çevrimiçi özelliğini etkinleştirin (Caching > Configuration altında). Temel sorunu çözmese de, kaynak kesintileri sırasında kullanıcılara sayfalarınızın önbelleğe alınmış sürümlerini sunarak tam bir hizmet kesintisini önler.
UptimeRobot, Pingdom veya Uptime Kuma gibi kendi kendine barındırılan bir çözüm gibi araçlarla kaynak sunucu izlemesini kurun. Kaynak arızalarını Cloudflare’dan bağımsız olarak tespit etmek için kaynak IP’yi doğrudan izleyin (Cloudflare proxy’li alan adını değil).
Cloudflare IP beyaz listesini otomatikleştirin. Cloudflare’ın IP aralıkları zaman zaman değişir. Güvenlik duvarı beyaz listenizi yenilemek için bir cron görevi kullanın:
# /etc/cron.weekly/update-cloudflare-ips
#!/bin/bash
CF_IPS=$(curl -s https://www.cloudflare.com/ips-v4)
# Add logic to update UFW/CSF/iptables rulesCloudflare’ın Kimlik Doğrulamalı Kaynak Çekişlerini kullanın. Bu özellik, kaynağınızı yalnızca Cloudflare’ın istemci sertifikasını sunan HTTPS bağlantılarını kabul edecek şekilde yapılandırarak proxy’yi atlayan doğrudan kaynağa yönelik istekleri engeller. Bu aynı zamanda, Cloudflare dışı trafiğin kaynağınıza ulaşarak güvenlik yazılımı yanıtlarını tetiklemesinden kaynaklanan bir 520 hatası sınıfını da ortadan kaldırır.
Birden fazla alan adı ve web uygulaması yöneten ekipler için, cPanel ile VPS, barındırılan tüm alan adlarında merkezi günlük erişimi, güvenlik duvarı yönetimi ve SSL sertifika yönetimi sağlar; bu da 520 olayları için tanılama süresini önemli ölçüde azaltır.
Karar Matrisi: Belirli 520 Senaryonuzu Tanılama
| Belirti | En Olası Neden | İlk Eylem |
|---|
| — | — | — |
|---|
| Tüm sayfalarda, tüm kullanıcılarda ani 520 | Kaynak sunucu çökmesi veya OOM sonlandırması | `systemctl status nginx/apache2` kontrol edin, `dmesg` inceleyin |
|---|
| Yük altında aralıklı 520 | Çalışan süreç tükenmesi | `pm.max_children` veya `worker_connections` değerini artırın |
|---|
| Yalnızca HTTPS’de 520, HTTP’de değil | SSL/TLS uyumsuzluğu | Cloudflare SSL modunu kaynak sertifikasıyla doğrulayın |
|---|
| Yeni eklenti/modül etkinleştirildikten sonra 520 | Hatalı biçimlendirilmiş başlıklar veya ölümcül hata | Hata günlüğünü kontrol edin, eklenti devre dışıyken test edin |
|---|
| Sunucu taşımasından sonra 520 | Eski DNS A kaydı | Cloudflare DNS panosunda A kaydı IP’sini doğrulayın |
|---|
| Güvenlik duvarı kuralı değişikliğinden sonra 520 | Cloudflare IP’leri engellendi | Güvenlik duvarında Cloudflare IP aralıklarını beyaz listeye alın |
|---|
| Paket yakalamada TCP RST ile 520 | Güvenlik duvarı bağlantıları etkin olarak sıfırlıyor | iptables/CSF/UFW kurallarını denetleyin |
|---|
| Yalnızca belirli URL’lerde 520 | Uygulama düzeyinde istisna | O rota için uygulama hata günlüğünü kontrol edin |
|---|
Teknik Temel Çıkarım Kontrol Listesi
Desteğe yükseltmeden önce, aşağıdakilerin her birini tamamladığınızı onaylayın:
- Kaynak web sunucusu sürecinin çalıştığını doğruladınız (
systemctl status) - Cloudflare’ı atlayarak
curl -v --resolveile doğrudan kaynak bağlantısını test ettiniz - 520 olaylarının tam zaman damgaları için kaynak hata günlüklerini inceledıniz
- Cloudflare IP aralıklarının tüm etkin güvenlik duvarlarında (UFW, CSF, iptables, ModSecurity) beyaz listeye alındığını onayladınız
- Yanıt başlıklarının 32 KB’ın altında olduğunu ve hatalı biçimlendirilmiş değerler içermediğini doğruladınız
- Cloudflare SSL/TLS modunun kaynak sertifika türüyle eşleştiğini onayladınız
- DNS A kayıtlarının doğru, güncel kaynak IP’ye işaret ettiğini doğruladınız
- OOM sonlandırmaları veya kaynak tükenmesi için sistem belleğini ve CPU’yu kontrol ettiniz
- Cloudflare destek yükseltmesi için 520 hata sayfasından Ray ID’yi yakaladınız
- WAF kuralı müdahalesi için Cloudflare Güvenlik Olayları günlüğünü inceledıniz
Sıkça Sorulan Sorular
Cloudflare Hatası 520 ile Hata 521 arasındaki fark nedir?
Hata 521, Cloudflare’ın kaynak sunucunuzun IP’sine başarıyla ulaştığı ancak web sunucusu sürecinin TCP bağlantısını reddettiği anlamına gelir; bu genellikle Nginx veya Apache’nin çalışmadığı anlamına gelir. Hata 520, TCP bağlantısının kurulduğu ancak HTTP yanıtının boş, kesilmiş veya hatalı biçimlendirilmiş olduğu anlamına gelir. 521 görüyorsanız, web sunucunuzu başlatın. 520 görüyorsanız, sunucu çalışıyor ancak bozuk yanıtlar gönderiyor demektir.
Hata 520, kaynak sunucu değil Cloudflare’ın kendisinden kaynaklanabilir mi?
Nadiren, ancak evet. Cloudflare uç düğümü sorunları, kaynağa doğrudan erişildiğinde yeniden üretilemeyen 520 hatalarına neden olabilir. Etkin olaylar için cloudflarestatus.com adresini kontrol edin. Kaynak, doğrudan curl aracılığıyla doğru yanıt veriyorsa ve Cloudflare’ın durum sayfası etkin bir olay gösteriyorsa, sunucunuzda değişiklik yapmak yerine Cloudflare’ın sorunu çözmesini bekleyin.
Hata 520 neden tutarlı değil de yalnızca aralıklı olarak oluşur?
Aralıklı 520 hataları neredeyse her zaman kaynak tükenmesine işaret eder — PHP-FPM çalışan havuzlarının kullanılabilir alt süreç kalmaması, Nginx’in worker_connections sınırlarına ulaşması veya Linux OOM killer’ın bellek baskısı altında süreçleri sonlandırması. Bu koşullar trafik artışları sırasında oluşur ve trafik düştüğünde çözülür, bu da aralıklı deseni oluşturur. Tutarlı 520 hataları bir yapılandırma sorununa işaret eder.
Cloudflare’ı duraklatmak Hata 520’yi düzeltir mi?
Cloudflare’ı duraklatmak onu istek yolundan kaldırır; dolayısıyla duraklatmanın ardından siteniz çalışıyorsa, sorun Cloudflare’ın yapılandırmasındadır (SSL modu, WAF kuralları, DNS kayıtları). Duraklatmanın ardından siteniz hâlâ başarısız oluyorsa, sorun kaynak sunucudadır. Cloudflare’ı duraklatmak bir tanılama adımıdır, düzeltme değildir — etkinken DDoS korumasını ve CDN önbelleklemesini kaldırır.
Cloudflare’a 520 hatasını bildirmek için Ray ID’yi nasıl bulurum?
Ray ID, kullanıcılara gösterilen Cloudflare 520 hata sayfasının alt kısmında görüntülenir. 16 karakterli onaltılık bir dize gibi görünür (örneğin, 7a3f2b9c1d4e8f0a). Ayrıca Chrome DevTools’un Ağ sekmesinde görünen CF-Ray yanıt başlığında da bulabilirsiniz. Cloudflare destek bileti açarken bu ID’yi her zaman ekleyin — Cloudflare mühendislerinin başarısız isteğiniz için tam uç günlük girişini almasına olanak tanır.
