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.
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.
◦ 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.
◦ 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.
◦ 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ı
▪ 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ı
◦ 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
◦ 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