Sitenizi ya da yönetim panelini kullanırken aniden sayfalar açılmamaya başlıyor ve ekranda ‘429 Too Many Requests’ yazısını görüyorsunuz. Türkçesiyle ‘çok fazla istek’. Sanki bir şey sizi yavaşlaması için durduruyor. Aslında tam da öyle oluyor: sunucu ya da bir güvenlik katmanı, kısa sürede gelen istek sayısını fazla bulup sizi geçici olarak frenliyor.
429 hatası bir hız sınırı (rate limit) uyarısıdır. Sunucular, kendilerini aşırı yükten ve saldırılardan korumak için belirli bir sürede kabul edecekleri istek sayısını sınırlar. Bu sınır aşılınca, bir süre boyunca yeni istekler reddedilir ve 429 döner. Sorun çoğu zaman kötü niyetli değildir, sadece bir yerde beklenenden fazla istek üretiliyordur.
Neden oluyor
- Sunucu ya da güvenlik eklentisi, tanımladığı hız sınırını siz ya da bir ziyaretçi aştığı için devreye girmiş.
- Bot trafiği ya da bir saldırı, siteye kısa sürede çok sayıda istek gönderiyor.
- Bir eklenti, arka planda gereğinden çok istek atıyor (örneğin sürekli dış bir servise bağlanan bir eklenti).
- Çok sayıda sekme ya da otomatik yenilenen bir sayfa, farkında olmadan istek yağmuruna yol açıyor.
İlk yapılacak: biraz bekleyin
429 çoğu zaman geçicidir. Sınır belirli bir zaman penceresi için konur, örneğin bir dakika. O süre dolunca sayaç sıfırlanır ve site normale döner. İlk adım olarak birkaç dakika bekleyip tekrar deneyin. Sorun kendiliğinden geçtiyse, yine de nedenini bulmak önemli, çünkü tekrar edebilir.
Kaynağı bulmak
Hata sürekli dönüyorsa, isteklerin nereden geldiğini anlamanız gerekir. Hosting panelinizde erişim günlüklerine (access logs) bakın. Bu günlükler hangi IP adreslerinin ne sıklıkta istek yaptığını gösterir. Tek bir IP’den saniyeler içinde yüzlerce istek geliyorsa, bu büyük olasılıkla bir bot ya da saldırıdır. O IP adresini sunucu güvenlik duvarından ya da güvenlik eklentinizden engelleyebilirsiniz.
İstekler kendi sitenizin içinden geliyorsa, bir eklenti suçlu olabilir. Son zamanlarda kurduğunuz ya da güncellediğiniz eklentileri gözden geçirin. Dış servislere sürekli bağlanan, zamanlanmış görevleri (cron) sık çalıştıran eklentiler bu yükü üretebilir. Eklentileri teker teker devre dışı bırakıp 429’un kaybolup kaybolmadığına bakarak sorumluyu bulabilirsiniz.
Hız sınırını ayarlamak
Sınır sizin meşru kullanımınız için fazla dar ayarlanmışsa, onu gevşetebilirsiniz. Bir güvenlik eklentisi kullanıyorsanız (örneğin brute force korumalı eklentiler), ayarlarında ‘rate limiting’ ya da ‘hız sınırlama’ bölümüne bakın. Dakikada izin verilen istek sayısını makul bir seviyeye çıkarın. Ancak çok yükseltmeyin, çünkü bu sınır sizi gerçek saldırılardan da koruyor.
Sınır sunucu tarafında, örneğin bir web uygulama güvenlik duvarında tanımlıysa, bunu hosting desteğiyle konuşmanız gerekebilir. Onlara 429 aldığınızı ve bunun meşru trafikte mi yoksa bir saldırı sırasında mı olduğunu söyleyin, günlüklere bakıp sınırı sizin durumunuza göre düzenleyebilirler.
Saldırı altındaysanız
Günlükler bir saldırıya işaret ediyorsa, savunmayı artırın. Cloudflare gibi bir servis kullanıyorsanız, saldırı modunu açıp şüpheli trafiği filtreleyebilirsiniz. Belirli ülkelerden ya da IP aralıklarından gelen yoğun istekleri engellemek de yükü düşürür. xmlrpc.php gibi sık hedef alınan dosyalara erişimi sınırlamak, WordPress sitelerinde bu tür saldırıların yükünü azaltan bilinen bir yöntemdir.
Tekrar yaşamamak için
Siteniz büyüyüp trafiği arttıkça hız sınırlarını gerçek kullanımınıza göre gözden geçirin. İyi bir güvenlik eklentisiyle kötü niyetli IP’leri otomatik engellemek, hem 429 hatasını hem sunucu yükünü azaltır. Eklenti kurarken arka planda ne kadar istek ürettiklerine dikkat edin, gereksiz yere dış servislere bağlanan eklentilerden kaçının.
429 can sıkıcı olsa da çoğu zaman sistemin kendini koruduğunun işareti. Kaynağı doğru tespit edip sınırı dengeli ayarladığınızda, hem site akıcı çalışır hem gerçek tehditlere karşı korunmuş kalırsınız. Yükün nereden geldiğini çözemezseniz, hosting desteği günlükleri sizinle birlikte okuyup yol gösterebilir.
Bu işleri kendiniz yapmak yerine profesyonel destek isterseniz, WordPress bakım ve teknik destek hizmetime göz atabilirsiniz.
Bu konunun tüm rehberi: WordPress Hataları ve Çözümleri