Web sitesi erişilemezliği tanılama: Ping'den HTTP kodlarına
Bir web sitesinin neden açılmadığını anlamak için arızayı üç düzeyden birinde konumlandırmak gerekir: ağ (Ping), isim çözümleme (DNS) veya web sunucusu (HTTP). Site sadece sizde yüklenmiyorsa önbelleği temizleyin, VPN'i devre dışı bırakın ve DNS'i kontrol edin. Sorun yaygınsa sunucu durumunu konsol araçları veya çevrimiçi hizmetler aracılığıyla kontrol edin.
Nereden başlamalı: Sorunu izole etme
Karmaşık komutları çalıştırmadan önce iki soruyu yanıtlayın:
- Site kimseye mi açılmıyor yoksa sadece size mi?
- Belirli bir kaynak mı çalışmıyor yoksa tüm internet mi?
Diğer siteler normal şekilde yüklenirken sorunlu kaynak tüm tarayıcılarda ve farklı cihazlarda (örneğin mobil internet üzerinden telefonda ve Wi-Fi üzerinden bilgisayarda) "sessiz" kalıyorsa sorun büyük olasılıkla barındırma tarafında veya alan adı ayarlarında bulunmaktadır.
Önemli: Site erişilebilirliği çok katmanlı bir kavramdır. Sunucu ping'e yanıt verebilir ancak Nginx/Apache yapılandırmasındaki bir hata nedeniyle web sayfalarını sunmayabilir. Veya tam tersi: ping güvenlik duvarı tarafından engellenir ancak site mükemmel çalışır.
Düzey 1: Ping ile ağ kontrolü
ping komutu sunucuyla temel bağlantıyı kontrol eder. ICMP paketleri gönderir ve yanıt bekler. Site hiç tepki vermiyorsa tanılamanın ilk adımı budur.
Terminalde (macOS/Linux) veya komut isteminde (Windows) çalıştırın:
ping example.com
Sonuçları nasıl yorumlamalı:
- Yanıt var (time=XX ms): Sunucuya ağ bağlantısı mevcut. Site yine de açılmıyorsa sorun daha üst katmanda — DNS, portlar veya web sunucusunun kendisindedir.
- Request timed out / Destination host unreachable: Paketler ulaşmıyor. Bu, sunucunun çökmesi, güvenlik duvarında ICMP'nin engellenmesi veya sağlayıcıda yönlendirme sorunları olduğu anlamına gelebilir.
- Paket kaybı (Loss): Paketlerin %1–2'sinden fazlası kayboluyorsa bağlantı kararsızdır. Site çok yavaş yüklenebilir veya bağlantı kopabilir.
Ping'e yanıt alınamaması sitenin çöktüğü anlamına gelmez. Birçok yönetici güvenlik amacıyla ICMP isteklerine yanıt vermeyi bilinçli olarak devre dışı bırakır. Ping başarısız olursa her zaman HTTP kontrolüne geçin.
Düzey 2: HTTP/HTTPS ile web sunucusu kontrolü
Bir sitenin çalışıp çalışmadığını kontrol etmenin en doğru yolu web sunucusuna doğrudan istek yapmaktır. Yanıt başlıklarını ve HTTP durumunu gösterecek curl yardımcı programını kullanın.
Başlıkları kontrol etmek için komut:
curl -I https://example.com
-I anahtarı (veya --head) sayfa gövdesini indirmeden yalnızca başlıkları ister.
HTTP kodlarının açıklaması
| Kod | Durum | Kullanıcı ne yapmalı | Site sahibi ne yapmalı |
|---|---|---|---|
| 200 | OK | Sorun tarayıcıda, önbellekte veya eklentilerdedir. | Her şey çalışıyor. |
| 301/302 | Redirect | Location başlığındaki yeni adrese gidin. | Yönlendirme ayarlarını kontrol edin. |
| 403 | Forbidden | VPN'i devre dışı bırakın, çerezleri temizleyin. IP adresiniz engellenmiş olabilir. | WAF kurallarını ve .htaccess dosyasını kontrol edin. |
| 404 | Not Found | Girilen URL'in doğruluğunu kontrol edin. | Dosyayı geri yükleyin veya yönlendirme ayarlayın. |
| 500 | Internal Error | Daha sonra tekrar deneyin. | Uygulama hata günlüklerini inceleyin. |
| 502/503/504 | Bad Gateway / Service Unavailable | Site geçici olarak aşırı yüklü veya bakım modunda. | Web sunucusunu yeniden başlatın, arka ucu kontrol edin. |
curl 200 kodu döndürüyor ancak tarayıcı hata gösteriyorsa sorun yereldir. 5xx kodları görüyorsanız sorun sunucu tarafındadır ve tek seçeneğiniz恢复를 기다리거나 барındırma desteğine başvurmaktır.
Düzey 3: DNS kontrolü
ping "Host name could not be resolved" yazıyor ve curl Could not resolve host hatası veriyorsa sorun DNS'tedir. Alan adı IP adresine dönüştürülemiyor.
Mevcut kayıtları kontrol edin:
nslookup example.com
veya daha detaylı:
dig example.com
Nelere dikkat edilmeli:
- Sunucu yanıtı: IP adresi içeren
ANSWER SECTIONbölümü var mı? - IP güncelliği: Alınan adres barındırma hizmetinizde olması gereken adresle eşleşiyor mu?
- Yanıt süresi: Sorgu 1–2 saniyeden uzun sürüyorsa DNS sunucunuz aşırı yüklü olabilir.
DNS sorunları için hızlı çözüm: Site DNS nedeniyle açılmıyorsa ağ ayarlarınızı geçici olarak genel DNS'lere değiştirin:
- Google:
8.8.8.8,8.8.4.4 - Cloudflare:
1.1.1.1,1.0.0.1Bu genellikle sağlayıcı önbelleğindeki eski verilerden kaynaklanan sorunları çözer.
Kontrol listesi: Site açılmıyorsa ne yapılmalı
Basitten karmaşığa doğru algoritmayı takip edin.
Kullanıcılar (site ziyaretçileri) için
- Diğer siteleri kontrol edin. Onlar da yüklenmiyorsa yönlendiriciyi yeniden başlatın veya sağlayıcınıza başvurun.
- Gizli mod. Siteyi gizli modda açın (Ctrl+Shift+N / Cmd+Shift+N). Çalışıyorsa suçlu tarayıcı eklentileri veya önbellektir.
- Önbellek ve çerez temizleme. Tüm zamanlar için site verilerini silin.
- VPN/Proxy'yi devre dışı bırakma. Siteler genellikle bilinen VPN sunucularından gelen trafiği engeller veya tam tersine VPN doğru bağlantıyı engelleyebilir.
- DNS değiştirme. Ağ bağdaştırıcısı ayarlarına genel DNS'leri (8.8.8.8) yazın.
- Antivirüs/güvenlik duvarı kontrolü. Yanlış engellemeyi dışlamak için korumayı geçici olarak devre dışı bırakın.
Site sahipleri (yöneticiler) için
- Yerel test. Siteyi sunucudan
curlile açmayı deneyin (curl -I localhost). Yanıt varsa sorun dış güvenlik duvarında veya yük dengeleyicidedir. - Günlük kontrolü. Web sunucusunun
error.logdosyasını (Nginx/Apache) ve uygulama günlüklerini (PHP/Python/Node.js) inceleyin. - Hizmet durumu. Web sunucusu ve veritabanının çalıştığından emin olun (
systemctl status nginx,systemctl status mysql). - Sunucu kaynakları. Yükü (
top,htop) ve diskteki boş alanı (df -h) kontrol edin. Dolu disk, 500 hatalarının sık görülen nedenidir. - SSL sertifikası. Sertifikasının süresinin dolmadığından ve güven zincirinin doğru oluşturulduğundan emin olun.
- Engellemeler. IP adresinizin veya alt ağınızın WAF ban listelerine (örneğin Cloudflare veya ModSecurity) girip girmediğini kontrol edin.
Belirti ve çözüm tablosu
| Belirti | Olası neden | Kontrol aracı | Çözüm |
|---|---|---|---|
| "Site bulunamadı" (DNS) | Alan adı kayıtlarında hata veya sağlayıcı önbelleği | nslookup, dig | DNS'i değiştirin, kayıtların güncellenmesini bekleyin |
| "Bağlantı sıfırlandı" | Güvenlik duvarı engeli veya yanlış port | telnet example.com 443 | Security Groups/Firewall ayarlarını kontrol edin |
| 502 Bad Gateway hatası | Arka uç (PHP/Node) çöktü veya aşırı yüklü | Nginx/Apache günlükleri | Arka uç hizmetini yeniden başlatın |
| 504 Gateway Timeout hatası | Arka uç çok yavaş çalışıyor | Uygulama günlükleri | Kodu optimize edin, zaman aşımlarını artırın |
| 403 Forbidden hatası | IP veya dosya izinleriyle erişim yasak | curl -I | .htaccess, chmod izinlerini, WAF'ı kontrol edin |
| Yavaş yükleme | Ağ sorunları veya ağır içerik | ping, Speedtest | Kanalı kontrol edin, önbelleğe almayı etkinleştirin |
Tanılama sırasında yapılan yaygın hatalar
- Sadece ping'e güvenmek. Başarılı bir ping'in HTTP sunucusunun çalıştığını garanti etmediği gerçeğini göz ardı etmek.
- HTTPS'i göz ardı etmek. Site HTTP üzerinden çalışabilir ancak HTTPS'te SSL sertifikası sorunları yaşayabilir. Her zaman kullandığınız protokolü kontrol edin.
- Tarayıcı önbelleği. Site zaten düzeltildiğinde kullanıcının önbelleğe alınmış sayfa veya yönlendirme nedeniyle hala eski hatayı görmesine neden olan "hayalet" sorunların en yaygın nedeni.
- Coğrafyayı dikkate almadan yerel kontrol. Site kendi ağınızda erişilebilir olabilir ancak başka bir bölgede veya ülkede engellenmiş olabilir. Tam resim için harici izleme hizmetlerini kullanın.
SSS
S: Site telefondan açılıyor ama bilgisayardan açılmıyor neden? C: Büyük olasılıkla sorun PC'nin yerel ağındadır: proxy ayarları, tarayıcı eklentileri, DNS önbelleği veya antivirüs engeli. Siteyi gizli modda açmayı veya ağ ayarlarını sıfırlamayı deneyin.
S: 521 veya 522 hatası ne anlama gelir? C: Bunlar Cloudflare'e özgü hatalardır. 521, web sunucusunun bağlantıyı reddettiği (çökmüş veya port kapalı) anlamına gelir; 522 ise sunucunun zamanında yanıt vermediği (zaman aşımı) anlamına gelir. Sorun her zaman ziyaretçide değil, barındırma tarafındadır.
S: Sitenin sağlayıcı tarafından engellenip engellenmediğini nasıl kontrol ederim? C: Farklı bir operatörün mobil internetini kullanmayı veya VPN'i açmayı deneyin. Site farklı bir IP ile açılıyorsa erişim ana sağlayıcınızın ağ düzeyinde kısıtlanmıştır.