502 Bad Gateway / 504 Gateway Time-out sebepleri ve çözümleri
502 Bad Gateway / 504 Gateway Time-out
Yerel Problemler
- DNS sunucunuz cevap vermiyor olabilir.
- Tarayıcınızdaki eklentiler sürekli sorgu yapıyor ve aygıt donanımlarını sürekli meşgul ediyor olabilir.
- Kötü amaçlı yazılımlar tarayıcı ve/veya internet ayarlarını bozmuş olabilir.
- Güvenlik duvarı gelen/giden trafiği engelliyor olabilir.
Yerel Çözümler
- Tarayıcı geçmişi, ön belleği ve çerezleri temizlemek
- Tarayıcı eklentilerini pasif etmek
- Güvenlik duvarı rollerini kontrol etmek
- Farklı bir tarayıcı denemek
- DNS ayarlarını değiştirmek. Örneğin; 8.8.8.8 yerine 208.67.222.222 kullanmak
Sunucu Problemleri
Bu hatalarda genel olarak yaşanan sebepler, servis(ler)in çalışmaması, sonradan yüklenilen uygulamalar, servis ayar dosyalarının yerine .htaccess ile ayar yapılması, fazladan verilen limitlerdir.
Çözümler;
Servisler yeniden başlatıldığında anlık olarak sorun çözülüyor ise; servisler arası bağlantılarda limit sorunu var demektir. Örneğin MySQL bağlantı sayısı ile Nginx bufer limiti yetersiz kalıyor demektir. Ziyaretçi sayısı Nginx ile kontrol edilirken bu ziyaretçiler sürekli SQL sorgusu yapıyor ise MySQL de de aynı limitler kullanılmalıdır.
Servislerin default dosyaları temin edilerek kullanılabilir. Hiç değişiklik yapılmadı ise servislerin güncellenmiş ve ayar dosyaları eski kalmış olabilir. Kullanılan servis versiyonları öğrenilerek dosyaları da yeniden yapılandırılmalı.
Sunucu yeni kuruldu ve hemen bu hatalardan birisi alındı ise kurulan servisler uyumsuz ve/veya stabil sürümler değildir.
Servis log dosyaları okunarak son ve genel yaşanan sorunlar tespit edilmeli. Karakter hatası, yetki hatası ve geçersiz klasör/dosya yolu gibi sorunlar tespit edilip düzelmeli.
.htaccess dosyaları kontrol edilerek yönlendirmeler ve limitler kontrol edilmeli.
Nginx ayar dosyasında belirtilen klasör ve dosya yolları kontrol edilmeli. Örneğin; wsgi_pass
Nginx ayar dosyasındaki bufer limitleri kontrol edilmeli.
SQL servisindeki bağlantı limitleri kontrol edilmeli. Kullanılan servis hazır ise performans gereksinimleri öğrenilmeli ve uygulanmalı.
Hazır siteler kullanılıyor ise mutlaka güncel olmalı ve yamalar takip edilmeli. Kapalı kaynak kodlar olsa bile güvenlik güncellemeleri yayınlandığı gibi uygulanmalı.
Hazır panel kullanılıyor ise güvenlik güncellemeleri ve sistem gereksinimleri bilinmeli ve hemen uygulanmalı. Makaleler takip edilmeli ve özellikle global sorun çıkaran yamalar anında uygulanmalı.
VPN kullanılıyor ise iptal edilip test edilmeli. VPN yazılımları her an açık oluşturabileceği için ücretli güvenlik duvarları daha iyi koruma sağlayacaktır.
Daha detaylı açıklamalar
1. Dış bağlantılar cevap vermiyor
◦ Siteniz üzerinde dış bağlantılar ile veri alışverişi yapılıyor ise bağlantı sağlanamıyor olabilir. Örneğin hava durumu, döviz kuru, canlı sohbet vs. gibi bağlantılar var ise bağlantıları manuel kontrol edip dış bağlantının yapılıp yapılmadığı kontrol edilmeli.
2. Servisler cevap vermiyor
◦ Bir veya birden fazla servis durmuş olabilir. Servislerin çalışma durumunu panel ve/veya terminal üzerinden kontrol edilmesi gerekir. Durmuş servis var ise log dosyaları okunarak en son alınan hata belirlenip çözüm aranabilir.
◦ SQL gibi bazı servisler dışarıya bağlı ise servisin durumu kontrol edilmeli.
◦ Bağlı servislerden biri aktif edilemiyor ise diğer servislerde çalışmayacaktır.
3. Servis limitleri yetersiz
◦ Hazır sistemler ve paneller kullanılıyor ise mutlaka sistem gereksinimleri incelenmeli ve sunucu donanımları buna göre alınmalı ve ayarlanmalıdır.
◦ Servislerin ayarları dosyaları.
▪ Güncel parametreler kullanılmalı.
▪ Minimim ve maximum değerler aşılmamalı.
▪ Donanımlar kontrol edilmeli ve yetersiz ise artırılmalı
4. Firewall/Güvenlik Duvarı engeli
▪ Servis ayarları ve optimizasyonları yapıldı ancak güvenlik duvarında hala kısıtlamalar var ise dışarı ile bağlantınız zaman aşımına uğrayabilir.
▪ Güvenlik duvarı ayarları kontrol edilip gereksiz limitler kaldırılmalı
5. Saldırı alınıyor
◦ Sunucu saldırı altında olabilir. Bu durumda yüksek kapasiteli sorgular yapılarak servisler meşgul ediliyor ve yanıt süresi aşılarak zaman aşımına sebep oluyor olabilir.
▪ Güvenlik duvarı ile engellemeler yapılabilir
▪ iptables, fail2ban gibi yazılımsal yardımcılar ile sorgular kesilebilir
6. Ayar dosyalar
◦ Servis ayar dosyalarının ve/veya bulunduğu klasörlerin okuma/yazma yetkileri uygun olmayabilir.
▪ Kullanılan servisin websitesinde gerekli yetkiler öğrenilip uygulanmalı
▪ .htaccess dosyası açılarak ayarlar kontrol edilmeli