Cloudflare Hata 521: Web Sunucusu Kapalı - Nedenler ve Çözümler
Cloudflare hata 521, Cloudflare'in kaynağınızın IP adresine ulaştığı ama sunucunun bağlantıyı aktif olarak reddettiği anlamına gelir, genellikle Cloudflare'in denediği portta hiçbir şey dinlemediği, bir güvenlik duvarının isteği engellediği veya web sunucusunun kendisinin durdurulmuş olduğu için. Bu bir zaman aşımından farklıdır: kaynaktaki bir şey hemen "hayır" dedi.
Hata 521 ne anlama gelir
Cloudflare bir isteği proxy'lediğinde, o kayıt için yapılandırılmış portta kaynak sunucunuza bir TCP bağlantısı açar. Hata 521, kaynak bağlantıyı kabul etmek yerine bir TCP sıfırlaması (RST) veya bir ICMP "connection refused" geri gönderdiğinde tetiklenir. Bu kesin bir reddiyedir, sessizlik değil. Bunu, Cloudflare'in zaman aşımı penceresi içinde hiç yanıt almadığı hata 522 ile, veya bağlantının başarılı olduğu ama ardından gelen HTTP yanıtının bozuk olduğu hata 520 ile karşılaştırın.
Hata 521 nasıl görünür
Ziyaretçiler, bir Ray ID ile birlikte Cloudflare'in kendi sayfasını, "Error 521: web server is down"'ı görür. Alan adına karşı bir curl isteği aynı durumu döndürür:
curl -I https://example.com
HTTP/2 521
Kaynak bağlantıyı ağ katmanında reddettiğinden, hiçbir şey uygulamanıza ulaşmaz, bu yüzden uygulama günlükleriniz başarısız istekler için genellikle hiçbir şey göstermez. Kanıt ağa daha yakın yaşar: web sunucunuzun kendi başlangıç ve erişim günlükleri, güvenlik duvarınızın veya güvenlik grubunuzun bağlantı günlükleri, ve kaynak ana bilgisayardaki sistem günlükleri (journalctl -u nginx, systemctl status nginx, veya yığınınız için eşdeğeri).
Hata 521'e ne sebep olur
- Web sunucusu süreci durduruldu veya çöktü. Portta hiçbir şey dinlemiyor, bu yüzden herhangi bir bağlantı denemesi hemen reddedilir.
- Cloudflare yanlış porta ulaşmak üzere yapılandırılmış. DNS kaydında veya Cloudflare'in ağ ayarlarında belirlenen kaynak portu, sunucunuzun gerçekte dinlediğiyle eşleşmiyorsa, her bağlantı reddedilir.
- Bir güvenlik duvarı veya bulut güvenlik grubu Cloudflare'in IP aralıklarını engelliyor. Kural belirli kaynak IP'lerini beyaz listeye alıyorsa ve Cloudflare'in yayınlanan aralıkları listede değilse, veya listedeyken sonradan kaldırıldıysa, Cloudflare'in kenarından gelen bağlantılar düşürülür veya reddedilir.
- SSL/TLS modu Full veya Full strict olarak ayarlı ama kaynakta 443 portunda hiçbir şey dinlemiyor. Bu modlar Cloudflare'in kaynağa HTTPS üzerinden bağlanmasını gerektirir; kaynak sadece düz HTTP sunuyorsa, veya sertifika kurulumu hiç tamamlanmadıysa, HTTPS bağlantı denemesi reddedilir.
- İlgisiz bir hizmet zaten web sunucusunun kullanmasını beklediği porta bağlı, bu yüzden web sunucusunun kendisi hiç başlamaz.
521'e karşı 523'e karşı 522
Bu üç kod, hepsi HTTP yanıtı hiç üretmeyen bir bağlantıyı tanımladığı için karıştırılması kolaydır, ama her biri Cloudflare'in farklı bir aşamada başarısız olduğu anlamına gelir.
- 521, web sunucusu kapalı: Cloudflare kaynağın IP adresine ulaştı, ve oradaki bir şey bağlantıyı aktif olarak reddetti (bir TCP sıfırlaması veya bir ICMP ulaşılamaz). Sunucu var ve yanıt verdi, sadece bir reddiyeyle.
- 523, kaynak ulaşılamaz: Cloudflare o kadar bile ilerleyemedi. Bu bir yönlendirme, DNS veya IP sorununa işaret eder, yaygın olarak Cloudflare'deki bir DNS kaydının bir sunucu geçişinden sonra hala eski bir IP adresine işaret etmesi, veya çalışmayan bir özel ağ rotası (Cloudflare Tunnel gibi).
- 522, bağlantı zaman aşımına uğradı: Cloudflare TCP el sıkışmasını denedi ama ne kabul ne de reddiye olmak üzere zamanında hiç yanıt almadı. Bu durum için ayrı Cloudflare hata 522 kılavuzuna bakın.
Kimin hatası olduğunu nasıl anlarsınız
Bir 521, sorunun Cloudflare'in kenarının kaynak tarafında oturduğunun güçlü bir işaretidir, çünkü reddiye doğrudan kendi sunucunuzdan veya onun hemen önündeki ağdan geldi. Operasyonel olarak önemli soru, bunun tüm siteyi mi yoksa trafiğin bir alt kümesini mi etkilediğidir, ve kontrol etmenin en hızlı yolu birden fazla konumdan aynı anda bir HTTP kontrolü çalıştırmaktır. HostTracker'ın HTTP kontrolü, alan adını birden fazla ülkedeki kontrol noktalarından sorgular ve her sonucu kendi başına bildirir, böylece her konumun aynı 521'i mi yoksa sadece bazılarının mı aldığını hemen görebilirsiniz, ki bu tüm sunucunun kapalı olması yerine kısmi bir güvenlik duvarı kuralına veya sağlıksız bir arka uca sahip bir yük dengeleyiciye işaret eder.
Hata 521 nasıl düzeltilir
Bir ziyaretçiyseniz
- Kısa bir bekleme sonrasında yeniden yükleyin. Sitenin operatörü sunucuyu yeniden başlatıyorsa, düzeltme zaten yolda olabilir.
- Varsa sitenin durum sayfasını, veya bilinen bir kesinti bildirimi için sosyal medyasını kontrol edin.
- Sizin tarafınızda değiştirilecek bir şey yoktur. Reddiye tarayıcınızda, DNS'inizde veya ISS'nizde değil, sitenin kendi sunucusunda gerçekleşir.
Siteyi çalıştırıyorsanız
- Web sunucusu sürecinin gerçekten çalıştığını doğrulayın:
systemctl status nginx(veya eşdeğeriniz), ve bir çökme veya başarısız yeniden başlatma için günlüklerini kontrol edin. - Cloudflare'in kullanmak üzere yapılandırıldığı portun sunucunuzun dinlediğiyle eşleştiğini doğrulayın. Cloudflare kontrol panelindeki DNS kaydı veya Ağ ayarları altındaki kaynak portunu, sunucunuzun gerçek dinleme portlarına karşı kontrol edin (Linux'ta
ss -tlnp). - Güvenlik duvarınızın veya bulut güvenlik grubunuzun o portta Cloudflare'in yayınlanan IP aralıklarından gelen trafiğe izin verdiğini kontrol edin. Cloudflare, mevcut IPv4 ve IPv6 aralıklarını cloudflare.com/ips'de yayınlar; o listenin eski bir kopyasından oluşturulmuş bir kural, yeni aralıklar eklendikçe onları reddetmeye başlar.
- SSL/TLS şifreleme modunuz Full veya Full strict ise, kaynakta 443 portunda Cloudflare'in doğrulayabileceği bir sertifikayla gerçekten bir şeyin dinlediğini doğrulayın. Geçici olarak Flexible'a geçmek, bunun nedeni doğrulamak için yararlı bir teşhistir, kalıcı bir düzeltme değil, çünkü Flexible, Cloudflare ile kaynağınız arasındaki bağlantıyı şifrelenmemiş bırakır.
- Kaynağı doğrudan test etmek ve aradaki kenar katmanı olmadan ham reddiyeyi görmek için Cloudflare'i atlayın:
Burada bir "Connection refused", sorunun Cloudflare değil, kaynağın dinleyicisi veya güvenlik duvarı olduğunu doğrular.curl -v -H "Host: example.com" https://ORIGIN_IP:PORT/ - Ana bilgisayardaki başka bir şeyin web sunucunuzun beklediği portu almadığını kontrol edin, ki bu web sunucusunun başlangıçta ona bağlanmasını engelleyecektir.
Nasıl önlenir
Sadece Cloudflare'in aralıklarını beyaz listeye alan bir güvenlik duvarı kuralı, 521'in aylar sonra yeniden ortaya çıkmasının yaygın bir yoludur, çünkü Cloudflare zamanla IP aralıkları ekler ve emekliye ayırır, ve bir kez kopyalanan bir kural güncelliğini kaybeder. Ağınızın dışından çalışan bir HTTP kontrolü, bir ziyaretçinin deneyimleyeceği şekilde ortaya çıkan kesintiyi yakalar, sitenin ulaşılamaz olduğunu birinin fark edip bildirmesine güvenmek yerine.
İlgili hatalar
- Cloudflare hata 520: bilinmeyen hata - kaynak yanıt verdi, ama yanıt iletilemedi.
- Cloudflare hata 522: bağlantı zaman aşımına uğradı - el sıkışma hiç yanıt almadı.
- 5xx sunucu hataları - genel durum kodu ailesi.
- 502 Bad Gateway - bir üst akış hatasının Cloudflare'e özgü olmayan versiyonu.
Sık sorulan sorular
Hata 521, sunucunun fiziksel olarak kapalı olmasıyla aynı mı?
Mutlaka değil. Bir şeyin TCP bağlantısını reddettiği anlamına gelir, ki bu makinenin kendisi açık kalırken web sunucusu sürecinin durdurulması, bir güvenlik duvarının isteği reddetmesi veya bir TLS mod uyuşmazlığı olabilir, sunucunun gerçekten kapalı olmasının yanı sıra.
Bir güvenlik duvarının neden olduğunu doğrulamanın en hızlı yolu nedir?
Cloudflare'i atlayarak, IP adresi ve alan adının Host başlığıyla kaynağı doğrudan sorgulayın. Bu da reddedilirse, engel muhtemelen Cloudflare'in IP aralıklarına özgü bir şey yerine kaynağın kendi güvenlik duvarı veya güvenlik grubudur.
Sunucumda hiçbir değişiklik olmadan 521 neden başlar?
Cloudflare periyodik olarak yayınlanan IP aralıklarını günceller. O listenin eski bir kopyasından oluşturulmuş bir güvenlik duvarı kuralı, yeni eklenen aralıklarla eşleşmeyi bırakır, bu yüzden kendi sunucunuzda hiçbir şey değişmese bile o aralıklardan gelen istekler reddedilir.
SSL/TLS modunu Flexible'a çevirmek 521'i kalıcı olarak düzeltir mi?
Flexible, kaynakta HTTPS gerektirmediğinden Full veya Full-strict uyuşmazlığını maskeleyebilir, ama aynı zamanda Cloudflare ile sunucunuz arasındaki bağlantının şifrelenmemiş olduğu anlamına gelir. Bunu bir teşhis adımı olarak ele alın, sonra kaynağın TLS dinleyicisini düzeltin ve geri çevirin.
521, 523'ten nasıl farklıdır?
521, Cloudflare'in kaynağa ulaştığı ve reddedildiği anlamına gelir. 523, Cloudflare'in ona hiç ulaşamadığı anlamına gelir, ki bu kaynak sunucunun kendisinin yaptığı bir şeyden ziyade DNS'e, yönlendirmeye veya bozuk bir tünele işaret eder.