Cloudflare 522 Hatası Nedir? Nasıl Çözülür?
Cloudflare 522 hatası, Cloudflare'in kaynak sunucuya TCP bağlantısı kuramaması durumunda oluşur. Firewall ve sunucu ayarlarıyla çözün.
Cloudflare 522 Hatası Nedir?
Cloudflare 522 hatası, "Connection Timed Out" yani bağlantı zaman aşımı anlamına gelir. Bu hata, Cloudflare'in proxy katmanı ile sizin kaynak (origin) sunucunuz arasındaki TCP el sıkışmasının (handshake) tamamlanamaması durumunda ortaya çıkar. Cloudflare, isteği kaynak sunucuya iletmeye çalışır; ancak belirli bir süre (genellikle 15 saniye) içinde TCP bağlantısı kurulamazsa ziyaretçilere 522 hata sayfasını gösterir.
Bu hata doğrudan sunucunuzun veya web uygulamanızın yanlış çalışmasından kaynaklanır; Cloudflare'in kendi altyapısında bir sorun olmadığı anlamına gelir. Yani Cloudflare, sorunu size bildiren bir aracı konumundadır. Hata genellikle sunucu tamamen kapalıyken, kaynak sunucunun aşırı yüklendiğinde, firewall kurallarının Cloudflare IP bloklarını engellediğinde veya ağ düzeyinde bir sorun yaşandığında görülür. Web siteniz Cloudflare arkasında çalışıyorsa ve ziyaretçiler bu hatayla karşılaşıyorsa, aşağıdaki adımları takip ederek sorunu hızlıca çözebilirsiniz.
Olası Nedenler
- Kaynak sunucu kapalı veya çökmüş: Web sunucusu (Nginx, Apache) servisi durmuş olabilir.
- Firewall Cloudflare IP'lerini engelliyor: Sunucu güvenlik duvarı Cloudflare'in IP aralıklarını bloke edebilir.
- Sunucu aşırı yük altında: Yüksek CPU/RAM kullanımı nedeniyle yeni bağlantılar kabul edilemiyor.
- Port 80/443 kapalı veya dinlenmiyor: Web sunucusu yanlış portu dinliyor olabilir.
- Yanlış IP yapılandırması: Cloudflare DNS kaydındaki IP adresi güncel değil veya hatalı.
- DDoS koruma aracı veya fail2ban engeli: Otomatik araçlar Cloudflare IP'lerini kötü niyetli olarak işaretlemiş olabilir.
Çözüm Adımları
SSH/Terminal ile Temel Kontroller
Öncelikle sunucuya SSH ile bağlanarak web sunucusu servisinin çalışıp çalışmadığını kontrol edin.
# Nginx durumunu kontrol et
sudo systemctl status nginx
# Apache durumunu kontrol et
sudo systemctl status apache2 # Debian/Ubuntu
sudo systemctl status httpd # CentOS/AlmaLinux
# Servisi başlat (durduysa)
sudo systemctl start nginx
sudo systemctl start apache2
# Portların dinlenip dinlenmediğini kontrol et
sudo ss -tlnp | grep -E ':80|:443'
# Sunucu kaynakları
top -bn1 | head -20
free -h
df -h
Nginx Ortamında
Nginx kullanıyorsanız konfigürasyon hatalarını ve çalışma durumunu kontrol edin.
# Nginx konfigürasyonunu test et
sudo nginx -t
# Nginx loglarını incele
sudo tail -100 /var/log/nginx/error.log
# Nginx'i yeniden başlat
sudo systemctl restart nginx
# Worker process ve bağlantı limiti ayarı (/etc/nginx/nginx.conf)
# worker_processes auto;
# worker_connections 1024;
Apache Ortamında
Apache kullanıyorsanız konfigürasyon ve mod_evasive gibi araçları kontrol edin.
# Apache konfigürasyonunu test et
sudo apachectl configtest
# Apache loglarını incele
sudo tail -100 /var/log/apache2/error.log # Debian/Ubuntu
sudo tail -100 /var/log/httpd/error_log # CentOS/AlmaLinux
# Apache'yi yeniden başlat
sudo systemctl restart apache2
Firewall (UFW/iptables) Cloudflare IP İzinleri
Cloudflare'in IP aralıklarına izin vermek için firewall kuralları ekleyin. Cloudflare IP listesi cloudflare.com/ips adresinden alınabilir.
# UFW ile Cloudflare IPv4 aralıklarına izin ver
for ip in 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 \
141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 \
197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 \
104.24.0.0/14 172.64.0.0/13 131.0.72.0/22; do
sudo ufw allow from $ip to any port 80
sudo ufw allow from $ip to any port 443
done
# iptables kullanıyorsanız
sudo iptables -I INPUT -s 103.21.244.0/22 -p tcp --dport 443 -j ACCEPT
# Mevcut kuralları listele
sudo ufw status verbose
fail2ban Yanlış Engel Kaldırma
fail2ban Cloudflare IP'lerini yanlışlıkla engellemiş olabilir.
# Engellenen IP'leri listele
sudo fail2ban-client status
sudo fail2ban-client status sshd
# Belirli bir IP'nin engelini kaldır
sudo fail2ban-client set nginx-http-auth unbanip 103.21.244.1
# Cloudflare IP'lerini kalıcı olarak whitelist'e ekle (/etc/fail2ban/jail.local)
# [DEFAULT]
# ignoreip = 127.0.0.1/8 ::1 173.245.48.0/20 103.21.244.0/22
cPanel Ortamında
cPanel/WHM kullanıyorsanız WHM üzerinden servis durumunu ve firewall ayarlarını kontrol edebilirsiniz.
# WHM > Service Manager > Apache/Nginx durumu kontrol
# WHM > ConfigServer Security & Firewall (CSF) > Cloudflare IP'lerini whitelist'e ekle
# SSH ile CSF whitelist düzenleme
sudo nano /etc/csf/csf.allow
# Cloudflare IP bloklarını ekle, ardından:
sudo csf -r
Özet ve Önleyici Tedbirler
- Web sunucusu servisini otomatik yeniden başlatmak için
systemdRestart=always ayarını kullanın. - Cloudflare IP listesini düzenli olarak güncelleyin; liste değişebilir.
- Sunucu kaynak kullanımını izlemek için Netdata veya Prometheus/Grafana kurun.
- fail2ban yapılandırmanıza Cloudflare IP bloklarını ignoreip olarak ekleyin.
- Cloudflare Dashboard > Health Checks özelliğini aktifleştirerek anlık bildirim alın.
- Düzenli olarak
uptimevedmesgçıktılarını inceleyin; donanım sorunlarını erken fark edin.
İlgili Makaleler
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!