Siteyi açmaya çalışıyorsunuz ve ekrana koca bir ‘502 Bad Gateway’ yazısı geliyor. Bazen beyaz bir sayfa, bazen hosting firmanızın ya da Cloudflare’in hazırladığı süslü bir hata ekranı. İçeriğiniz yok olmadı, veritabanınız silinmedi. Sunucuların birbiriyle konuşurken anlaşamadığı bir an yaşanıyor, o kadar.
İşin tekniği şöyle. Ziyaretçi siteye girdiğinde istek önce bir ön kapıdan geçer. Bu kapı genellikle Nginx ya da Apache gibi bir web sunucusudur. O kapı isteği arkadaki PHP işçisine iletir ve ondan bir yanıt bekler. PHP tarafı çöker, donar ya da anlamsız bir şey döndürürse ön kapı elindeki bu bozuk yanıtla ne yapacağını bilemez. Size de ‘502 Bad Gateway’ der. Yani sorun çoğu zaman sitenizin kodunda değil, yanıtı üreten katmanda.
Bu hataya ne yol açar
En sık görülen nedenlerden biri PHP işçilerinin tükenmesi. Sunucunuzda aynı anda kaç isteğe bakılacağının bir sınırı vardır. Ani bir trafik ya da arka planda dönen ağır bir işlem bu işçileri doldurur, yeni gelen istek sırada bekler ve zaman aşımına düşer.
- Kötü yazılmış ya da güncel olmayan bir eklentinin PHP sürecini çökertmesi
- Sunucunun o anki yükü kaldıramaması, bellek ya da işlemcinin dolması
- Önünüzde Cloudflare gibi bir proxy varsa onun sunucuyla bağlantı kuramaması
- PHP sürüm değişiklikleri ya da yanlış yapılandırılmış bir PHP-FPM servisi
Cloudflare kullananlar için küçük bir ayrıntı var. Hata ekranında Cloudflare logosu görünüyorsa sorun büyük ihtimalle sizin sunucunuzla onların arasındaki bağlantıdadır. Logo yoksa ve doğrudan hosting firmanızın hata sayfası geliyorsa işçi sunucunuzun içinde aramak gerekir.
Adım adım çözüm
- Önce sayfayı birkaç kez yenileyin ve bir iki dakika bekleyin. 502 çoğu zaman geçici bir tıkanmadır, kendiliğinden geçer. Panikle müdahale etmeden önce bunu deneyin.
- Cloudflare ya da benzeri bir CDN kullanıyorsanız onu geçici olarak devre dışı bırakın. Cloudflare panelinden geliştirici modunu açabilir ya da DNS kaydını kısa süreliğine gri buluta (proxy kapalı) alabilirsiniz. Site bu durumda açılıyorsa sorunu orada bulmuşsunuz demektir.
- Hata son yüklediğiniz bir eklentiden sonra başladıysa o eklentiyi devre dışı bırakın. Yönetim paneline giremiyorsanız FTP ya da hosting dosya yöneticisiyle wp-content/plugins klasörüne girin, şüpheli eklentinin klasörünü yeniden adlandırın. Adını ‘elementor-kapali’ gibi bir şeye çevirmeniz o eklentiyi pasif hale getirir.
- Hangi eklentinin suçlu olduğunu bilmiyorsanız plugins klasörünün tamamını ‘plugins-eski’ diye yeniden adlandırın. Site açılırsa klasörü eski adına döndürüp eklentileri tek tek açarak sorunluyu yakalayın.
- PHP işçi ve bellek sınırlarına bakın. Barındırma paketiniz az sayıda PHP worker veriyorsa yoğun saatlerde bu sınır dolar. Hosting panelinizden worker ya da bellek limitini yükseltebiliyorsanız deneyin.
- Sunucunun hata kaydına bakın. cPanel’de ‘Errors’ bölümü ya da barındırma panelinizdeki PHP error log çoğu zaman gerçek sebebi net satırlarla yazar. Hangi dosyanın hangi satırda patladığını görmek işi kısaltır.
- Bunların hiçbiri sonuç vermezse hosting desteğine yazın. Onların sunucu tarafında görebildiği kayıtlar size kapalıdır. Hatanın ne zaman başladığını ve o sırada ne yaptığınızı anlatmanız çözümü hızlandırır.
Tekrar yaşamamak için
Eklenti ve temalarınızı güncel tutun, ama güncellemeleri trafiğin düşük olduğu saatlerde yapın. Kullanmadığınız eklentileri pasif bırakmak yerine tamamen silin, çünkü pasif eklenti bile güvenlik açığı taşıyabilir. Siteniz büyüyorsa paylaşımlı barındırmadan çıkıp daha fazla kaynak ayrılan bir plana geçmeyi düşünün. Düzenli yedek almak da işin huzur veren kısmı, çünkü bir sorunla karşılaştığınızda geri dönecek temiz bir noktanız olur.
502 hatası genelde korkutucu göründüğü kadar derin değildir. Çoğu durumda birkaç dakika beklemek ya da son eklediğiniz eklentiyi kapatmak yeter. İş sunucu yapılandırmasına kadar uzuyor ve kendi başınıza çözemiyorsanız bir uzmana danışmak zaman kazandırır.
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