ERR_CONNECTION_REFUSED ve ERR_CONNECTION_TIMED_OUT, tarayıcının web sunucusuyla daha bağlantı kuramadan başarısız olduğunu söyler. Sunucu bir hata sayfası bile göndermemiştir; bu yüzden bunlar 500 veya 503 gibi HTTP hatalarından farklıdır. Chrome ilk durumda "refused to connect" (bağlanmayı reddetti), ikincisinde "took too long to respond" (yanıt vermesi çok uzun sürdü) özetini gösterir. Firefox'un Türkçe arayüzündeki karşılıkları "Bağlanılamadı" ve "Bağlantı zaman aşımına uğradı" başlıklarıdır.
İkisinin farkını anlamak, sorunu doğru yerde aramanızı sağlar: reddedilme genellikle "doğru makineye ulaştım ama o kapıda kimse yok" demektir, zaman aşımı ise "hiçbir yanıt gelmedi" demektir. Aşağıda önce bu farkı, sonra ziyaretçi ve site sahibi için ayrı ayrı kontrolleri anlatıyoruz. Kısaca ERR_CONNECTION_RESET hatasına da değiniyoruz.
Refused, timed out ve reset arasındaki fark

Chromium'un ağ hata listesi (net_error_list.h) üç kodu şöyle tanımlar:
| Kod | Chromium tanımı | Pratikte ne anlama gelir |
|---|---|---|
| ERR_CONNECTION_REFUSED (-102) | Bağlantı denemesi reddedildi. | Hedef makine yanıt verdi ama o portta bağlantı kabul etmedi. Çoğu zaman web sunucusu çalışmıyor veya o portu dinlemiyor. |
| ERR_CONNECTION_TIMED_OUT (-118) | Bağlantı denemesi zaman aşımına uğradı. | Hiç yanıt gelmedi. Paketi sessizce düşüren bir güvenlik duvarı, yanlış IP, kapalı sunucu veya ağ sorunu. |
| ERR_CONNECTION_RESET (-101) | Bağlantı sıfırlandı (TCP RST). | Bağlantı kurulduktan sonra bir taraf veya aradaki bir cihaz bağlantıyı kesti. |
Bu ayrımın teknik temeli TCP'dir. RFC 9293'e göre bağlantı yoksa (CLOSED durumu), gelen her bölüme bir sıfırlama (RST) ile yanıt verilir ve var olan bir bağlantıyla eşleşmeyen bir SYN bu yolla reddedilir. Yani makine açık ama 80 veya 443 portunda hiçbir program dinlemiyorsa işletim sistemi hemen RST döner ve tarayıcı "refused" görür. Güvenlik duvarları ise iki farklı davranabilir: iptables belgesine göre REJECT hedefi geriye bir hata paketi gönderir (varsayılanı ICMP port-unreachable, istenirse tcp-reset), DROP ise paketi sessizce düşürür. ufw belgesi de aynı ayrımı yapar: deny trafiği yok sayar, reject gönderene engellendiğini bildirir. Sessiz düşürme, tarayıcı tarafında zaman aşımı olarak görünür.
Chrome Yardım sayfası da kodları benzer şekilde özetler: ERR_CONNECTION_REFUSED için sayfanın Chrome'un bağlanmasına izin vermediğini veya engellendiğini, ERR_CONNECTION_TIMED_OUT için sayfanın bağlanmasının çok uzun sürdüğünü, ERR_CONNECTION_RESET için ise bağlantının kararsız internet, eski tarayıcı, VPN sorunu veya sayfayı engelleyen güvenlik yazılımı gibi bir nedenle kesildiğini söyler.
Ziyaretçiyseniz: hızlı kontroller
- Başka bir siteyi açın. Hiçbir site açılmıyorsa sorun internet bağlantınızdadır, siteyle ilgili değildir.
- Başka bir ağdan deneyin. Telefonda Wi-Fi'yi kapatıp mobil veriyle açın. Mobil veriyle açılıyorsa sorun ev veya iş ağınızdadır (modem, kurum güvenlik duvarı). Hiçbir yerden açılmıyorsa sorun sitededir.
- VPN'i kapatın veya açın. Chrome Yardım sayfası VPN sorunlarını bağlantı sıfırlanmasının nedenleri arasında sayar. Bazı sunucular belirli VPN IP aralıklarını da engeller.
- Proxy ayarını kontrol edin. Chrome sistemin proxy ayarını kullanır. Windows'ta Ayarlar içindeki Ağ ve İnternet bölümünde proxy (ara sunucu) seçeneğine bakın; tanımadığınız bir proxy tanımlıysa kapatın. Kurumsal ağlarda bu ayarı BT ekibiniz yönetir.
- Güvenlik duvarı ve antivirüsü kontrol edin. Chrome Yardım, güvenlik duvarı veya antivirüs yazılımının bağlantıyı engellemediğinden emin olmanızı önerir. Antivirüsün web koruması veya HTTPS tarama özelliğini kısa süre kapatıp deneyin, sonra mutlaka yeniden açın.
- hosts dosyasına bakın. Windows'ta
C:\Windows\System32\drivers\etc\hosts, macOS ve Linux'ta/etc/hostsdosyasında site için eski bir IP satırı kalmışsa tarayıcınız yanlış sunucuya gider. Satırı silmek için yönetici yetkisi gerekir. - DNS önbelleğini temizleyin. Site yakın zamanda yeni sunucuya taşındıysa bilgisayarınız eski IP'yi hatırlıyor olabilir. Windows'ta yönetici komut isteminde
ipconfig /flushdnsçalıştırın; Microsoft belgesine göre bu komut DNS istemci önbelleğini boşaltıp sıfırlar.
ipconfig /displaydns # önbellekteki kayıtları gösterir (hosts dosyasından gelenler dahil)
ipconfig /flushdns # DNS istemci önbelleğini temizlerSite sahibiyseniz: sunucu tarafı kontroller

Aşağıdaki adımlar SSH erişimi olan VPS ve sunucular içindir. Paylaşımlı hostingde bu katmanlar sağlayıcınızın yönetimindedir; site herkes için açılmıyorsa hosting desteğine yazın. SSH bağlantısı için SSH ile sunucuya bağlanma rehberine bakabilirsiniz.
1. Alan adı doğru IP'yi gösteriyor mu?
Yanlış bir A kaydı, isteklerin başka bir makineye gitmesine yol açar; o makine kapalıysa zaman aşımı, açık ama web sunucusu yoksa reddedilme görürsünüz. Alan adının döndürdüğü IP'yi sunucunuzun IP'siyle karşılaştırın:
dig +short A example.com
dig +short A www.example.com
dig +short AAAA example.com # IPv6 kaydı varsa o adres de çalışmalıBir AAAA (IPv6) kaydı tanımlı ama sunucu IPv6 üzerinde dinlemiyorsa, IPv6 kullanan ziyaretçiler hata alırken diğerleri sorunsuz girebilir. DNS değişikliği yaptıysanız yayılma süresini de hesaba katın: DNS yayılma süresi ve TTL.
2. Web sunucusu çalışıyor mu?
Reddedilme hatasının en sık nedeni web sunucusunun durmuş olmasıdır. Servis adı dağıtıma göre değişir: Debian/Ubuntu'da Apache apache2, RHEL tabanlı sistemlerde httpd adını taşır; LiteSpeed kurulumlarında servis adını sağlayıcınızın belgesinden kontrol edin.
sudo systemctl status nginx
sudo systemctl status apache2 # RHEL/AlmaLinux: httpd
# Durmuşsa son günlük satırlarına bakın, sonra başlatın
sudo journalctl -u nginx -n 50 --no-pager
sudo nginx -t && sudo systemctl start nginxServis başlamıyorsa neden genellikle günlükte yazar: yapılandırma sözdizimi hatası, bulunamayan sertifika dosyası veya portu başka bir programın tutması. Servis yönetimi için systemd servis yönetimi yazımıza bakın.
3. 80 ve 443 portları dinleniyor mu?
ss komutunda -t TCP soketlerini, -l yalnızca dinleyen soketleri, -n servis adlarını çözmeden sayısal çıktıyı, -p soketi kullanan süreci gösterir:
sudo ss -tlnp | grep -E ':80 |:443 '
# Beklenen örnek:
# LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=...))
# LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=...))Burada dikkat edilecek iki şey var. 443 hiç listede yoksa HTTPS sanal sunucusu tanımlı değildir veya yüklenememiştir; bu durumda http çalışır ama https adresi reddedilir. Adres 127.0.0.1:80 olarak görünüyorsa sunucu yalnızca yerel bağlantıları kabul ediyordur ve dışarıdan reddedilme alırsınız; listen satırını kontrol edin. Port kontrolü hakkında daha fazlası için port sorgulama rehberine bakın.
4. Sunucu güvenlik duvarı
Web sunucusu dinliyor ama dışarıdan bağlanılamıyorsa güvenlik duvarına bakın. ufw kullanıyorsanız status verbose ek bilgi gösterir; ufw belgesindeki örneklerde 80 numaralı TCP portunu açmak için ufw allow 80/tcp kullanılır:
sudo ufw status verbose
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# iptables kurallarını doğrudan görmek için
sudo iptables -L INPUT -n -v --line-numbersKural DROP veya ufw deny ise tarayıcı zaman aşımı görür; REJECT ise hata çoğunlukla hızlı gelir. SSH portunu kapatmamaya dikkat edin. Ayrıntılı kullanım için Ubuntu UFW güvenlik duvarı rehberine bakın.
5. Bulut sağlayıcının güvenlik grubu veya ağ güvenlik duvarı
Bulut sunucularda işletim sistemindeki güvenlik duvarının önünde bir de sağlayıcının ağ güvenlik duvarı bulunur. AWS belgesine göre güvenlik grubu bir sanal güvenlik duvarı gibi çalışır ve örneğe yalnızca kurallarla izin verilen trafik ulaşır. 80 ve 443 için gelen kuralı yoksa istek sunucunuza hiç ulaşmaz; tarayıcı tarafında bu çoğu zaman zaman aşımı olarak görünür. Diğer sağlayıcıların (Hetzner, DigitalOcean, Azure, Google Cloud) panelindeki firewall veya ağ güvenlik kurallarını da aynı mantıkla kontrol edin. Aynı belge, SSH ve RDP gibi yönetim portlarını tüm internete değil yalnızca belirli IP aralıklarına açmayı önerir.
6. Dışarıdan test edin
Sunucunun kendisinden yapılan test güvenlik duvarlarını atlar. Kendi bilgisayarınızdan veya başka bir sunucudan deneyin:
curl -v --connect-timeout 10 http://203.0.113.10/ # doğrudan IP ile
curl -v --connect-timeout 10 https://example.com/
# "Connection refused" -> makineye ulaşıldı, port kapalı
# "Connection timed out" / "Timeout" -> paket düşürülüyor veya makineye ulaşılamıyorIP ile bağlanılabiliyor ama alan adıyla bağlanılamıyorsa sorun DNS'tedir. IP ile de bağlanılamıyorsa sırayla servis, port ve güvenlik duvarı katmanlarına dönün.
Neden ve çözüm tablosu
| Neden | Belirti | Çözüm |
|---|---|---|
| Web sunucusu durmuş | Refused; ss çıktısında 80/443 yok | Günlüğe bakın, yapılandırmayı test edin, servisi başlatın |
| HTTPS sanal sunucusu yok | http açılıyor, https refused | listen 443 ssl bloğunu ve sertifika yolunu kontrol edin |
| Sunucu yalnızca 127.0.0.1 dinliyor | Sunucuda curl çalışıyor, dışarıdan refused | listen adresini düzeltin |
| Güvenlik duvarı DROP/deny | Timed out | ufw/iptables ile 80 ve 443'e izin verin |
| Bulut güvenlik grubu kuralı eksik | Timed out, sunucu içi her şey normal | Sağlayıcı panelinde gelen kuralı ekleyin |
| Yanlış A veya AAAA kaydı | Bazı ağlarda veya herkeste hata; IP ile açılıyor | DNS kaydını düzeltin, TTL kadar bekleyin |
| Ziyaretçinin IP'si engellenmiş | Yalnızca bir kişide/ağda hata | Sunucu güvenlik duvarında IP engelini kaldırın |
| Ziyaretçi tarafında proxy, VPN, antivirüs | Yalnızca o cihazda hata | Proxy/VPN kapatın, güvenlik yazılımını kontrol edin |
ERR_CONNECTION_RESET hakkında kısaca
Bu kodda bağlantı başlamış ama yarıda bir RST ile kesilmiştir. Ziyaretçi tarafında en sık neden VPN, proxy veya HTTPS trafiğini inceleyen güvenlik yazılımıdır; başka ağdan ve VPN kapalıyken deneyin. Sunucu tarafında ise web sunucusunun veya arka uçtaki PHP sürecinin isteği işlerken çökmesi, bağlantı sınırları veya DDoS korumasının bağlantıyı kesmesi neden olabilir. Hata belirli bir sayfada tekrarlanıyorsa web sunucusu ve PHP-FPM günlüklerine o saat için bakın; PHP-FPM yapılandırma ve DDoS koruma yazılarımız yardımcı olabilir.
Sık Sorulan Sorular
ERR_CONNECTION_REFUSED benim bilgisayarımdan mı kaynaklanıyor?
Çoğu zaman hayır. Site başka ağlardan ve cihazlardan da açılmıyorsa sorun sunucudadır. Yalnızca sizin cihazınızda oluyorsa proxy, VPN, hosts dosyası, antivirüs veya IP'nizin sunucu tarafından engellenmesi akla gelmelidir.
Site sunucu taşıdıktan sonra bazı kişilerde açılmıyor. Neden?
DNS kayıtları her yerde aynı anda güncellenmez. Eski IP'yi önbelleğinde tutan ziyaretçiler, eski sunucu kapatıldıysa zaman aşımı veya reddedilme görür. Eski sunucuyu bir süre açık tutmak ve ziyaretçilere DNS önbelleğini temizlemelerini önermek geçişi kolaylaştırır.
localhost üzerinde ERR_CONNECTION_REFUSED alıyorum. Ne yapmalıyım?
Yerel geliştirme sunucunuz çalışmıyor veya farklı bir portta çalışıyordur. Terminalde sunucunun başladığını ve hangi portu yazdığını kontrol edin; adresteki port numarasının aynı olduğundan emin olun.
Timed out hatası sunucunun yavaş olduğunu mu gösterir?
ERR_CONNECTION_TIMED_OUT bağlantı aşamasında yanıt gelmediğini gösterir; bu genellikle yavaşlık değil, ulaşılamama sorunudur. Bağlantı kurulup sayfanın geç gelmesi ise farklı bir durumdur; ön tarafta proxy varsa 504 gibi bir HTTP hatası görürsünüz. Bkz. 502 ve 504 gateway hataları ve web sitesi yavaş açılıyor.
Yazılım, tarayıcı ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen şirketlerle ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: Port sorgulama rehberi · Ubuntu UFW güvenlik duvarı · systemd servis yönetimi · DNS hataları · 503 Service Unavailable · ERR_TOO_MANY_REDIRECTS · Linux sunucu komutları