ERR_CONNECTION_REFUSED: Ne Anlama Gelir ve Nasıl Düzeltilir

Advertisement
ERR_CONNECTION_REFUSED Nedir?
ERR_CONNECTION_REFUSED, tarayıcınız web sitesinin sunucusuna ulaştığında ancak sunucu bağlantıyı etkin biçimde reddettiğinde görünen bir Chrome hatasıdır. Ağ düzeyinde, bilgisayarınız sunucunun IP adresine ve portuna bir TCP bağlantı isteği (SYN) gönderdi; sunucu — ya da önündeki bir güvenlik duvarı — bunu kabul etmek yerine "burada seninle konuşacak bir şey yok" diyen bir sıfırlama (RST) paketiyle yanıt verdi.
Bu durum, ERR_CONNECTION_REFUSED'ı DNS_PROBE_FINISHED_NXDOMAIN gibi DNS hatalarından temelde farklı kılar. Bir DNS hatasında alan adı hiçbir zaman bir IP adresine çözümlenmez. ERR_CONNECTION_REFUSED'da ise DNS kusursuz çalışmıştır — tarayıcınız sunucunun tam olarak nerede olduğunu bilir — ancak o adresteki makine kapıyı açmayı reddetmiştir.
Bu reddetme genellikle üç şeyden birini ifade eder: o portta dinleyen bir hizmet yoktur (web sunucusu kapalıdır veya çökmüştür), bir güvenlik duvarı o porta gelen trafiği reddediyordur ya da cihazınız tamamen yanlış bir IP adresine bağlanıyordur — örneğin eski bir DNS önbelleği veya bozuk bir proxy nedeniyle.
Bu Hata Diğer Tarayıcılarda Nasıl Görünür
Her tarayıcı reddedilen bir bağlantıyı farklı bildirir, ancak altta yatan TCP reddi aynıdır.
| Tarayıcı | Hata Mesajı |
|---|---|
| Google Chrome | Bu siteye ulaşılamıyor — [site] bağlantıyı reddetti. ERR_CONNECTION_REFUSED |
| Microsoft Edge | Hmmm… bu sayfaya ulaşılamıyor — [site] bağlantıyı reddetti. |
| Mozilla Firefox | Bağlantı kurulamadı — Firefox sunucuyla bir bağlantı kuramıyor. |
| Safari | Safari Sunucuya Bağlanamıyor |
| Brave / Opera | Bu siteye ulaşılamıyor — ERR_CONNECTION_REFUSED |
Chromium tabanlı tarayıcıların tümü (Chrome, Edge, Brave, Opera) ham ERR_CONNECTION_REFUSED kodunu gösterir. Firefox ve Safari bunu sade bir dille ifade eder, ancak nedeni ve çözümleri tamamen aynıdır.
ERR_CONNECTION_REFUSED'ın Yaygın Nedenleri
Sorunun yaklaşık yarısında kaynak sunucu tarafındadır, diğer yarısında ise cihazınızda veya ağınızda bir şey araya girmektedir. En yaygından en aza doğru sıralanmış en sık karşılaşılan nedenler şunlardır.
Web sitesinin sunucusu kapalı — Web hizmeti (nginx, Apache, Node.js) çökmüş, yeniden başlatılıyor ya da durdurulmuştur. Makine çevrimiçidir ancak 80/443 portunda hiçbir şey yanıt vermez.
Güvenlik duvarı portu engelliyor — Sunucudaki, ağınızdaki veya cihazınızdaki bir güvenlik duvarı o porta gelen bağlantıları reddediyordur.
Yanlış yapılandırılmış proxy ayarları — Sisteminiz trafiği çevrimdışı veya erişilemez bir proxy sunucusu üzerinden yönlendiriyordur. Bu, istemci tarafındaki en yaygın nedenlerden biridir.
Eski DNS önbelleği — Site yeni bir sunucuya taşınmıştır, ancak önbelleğe alınmış DNS kaydınız hâlâ artık hiçbir şeyin dinlemediği eski IP adresini gösteriyordur.
VPN veya antivirüs müdahalesi — Güvenlik yazılımı bağlantıyı yakalayıp reddediyordur ya da VPN çıkış sunucusu siteye ulaşamıyordur.
Tarayıcı uzantısı müdahalesi — Reklam engelleyiciler, gizlilik uzantıları veya kötü amaçlı yazılım bulaşmış uzantılar belirli ana bilgisayarlara olan bağlantıları engelleyebilir.
Hosts dosyası geçersiz kılması — Alan adı, hosts dosyanızda yanlış bir IP'ye (genellikle 127.0.0.1) eşlenmiştir; bu nedenle tarayıcınız reddeden kendi makinenize bağlanır.
localhost'ta dinleyen bir şey yok — Geliştiriciler için: yerel geliştirme sunucusu çalışmıyordur, çökmüştür ya da açtığınızdan farklı bir porta bağlanmıştır.
Yönlendirici sorunu — Arızalanmış bir yönlendirici veya modem, yeniden başlatılana kadar bağlantıları bozar.
Çözüm 1: Sitenin Herkes İçin Kapalı Olup Olmadığını Kontrol Edin
Cihazınızda herhangi bir şeyi değiştirmeden önce, sorunun sunucu tarafında olup olmadığını öğrenin — site herkes için kapalıysa, hiçbir yerel çözüm işe yaramaz.
Test etmenin en temiz yolu farklı bir ağ yolundan geçmektir. Siteyi telefonunuzda mobil veri kullanarak açın (Wi-Fi kapalı). Orada da başarısız olursa, sunucunun kendisi bağlantıları reddediyordur ve sitenin sahibinin bunu düzeltmesini beklemeniz gerekir.
Sunucuyu doğrudan şu DNS Robot araçlarıyla da test edebilirsiniz:
[Port Checker](/port-checker) — Sitenin alan adını girin ve 443 (HTTPS) ile 80 (HTTP) portlarını test edin. İkisi de kapalı görünüyorsa, web sunucusu yalnızca sizin için değil herkes için kapalı ya da güvenlik duvarıyla engellenmiştir.
[Ping Testi](/ping) — Sunucu makinesinin hiç yanıt verip vermediğini kontrol eder. Ping çalışıyor ama portlar kapalıysa, makine açıktır ancak web hizmeti ölmüştür.
[HTTP Headers Checker](/http-headers) — DNS Robot'un sunucularından gerçek bir HTTP isteği gönderir. Sizin tarayıcınız yanıt alamazken bu araç yanıt alıyorsa, sorun cihazınıza veya ağınıza özeldir.
Advertisement
Çözüm 2: Yönlendiricinizi ve Cihazınızı Yeniden Başlatın
Klasik ilk hamle olmasının bir nedeni var: yeniden başlatma, yönlendiricinin bağlantı tablosunu, DNS önbelleğini ve reddedilen bağlantılara yol açabilecek arızalı NAT durumunu temizler.
Yönlendiricinizin (ve ayrıysa modeminizin) fişini prizden çekin, 30 saniye bekleyin, tekrar takın ve tam olarak yeniden bağlanması için 2–3 dakika süre tanıyın. Ağ yığınını sıfırlamak için bilgisayarınızı veya telefonunuzu da yeniden başlatın, ardından siteyi tekrar deneyin.
Çözüm 3: Tarayıcı Önbelleğinizi ve Çerezlerinizi Temizleyin
Chrome bozuk bir yönlendirmeyi, eski bir HSTS kaydını veya sizi ölü bir sunucuya yönlendiren çerezleri önbelleğe almış olabilir. Bunları temizlemek tamamen taze bir bağlantı kurulmasını zorlar.
Chrome'u açın → üç nokta menüsüne tıklayın → Tarama verilerini sil
Zaman aralığı → Tüm zamanlar'ı seçin
"Çerezler ve diğer site verileri" ile "Önbelleğe alınmış resimler ve dosyalar" seçeneklerini işaretleyin
Verileri sil'e tıklayın, Chrome'u yeniden başlatın ve siteyi tekrar deneyin
Çözüm 4: Proxy Ayarlarını Devre Dışı Bırakın
Yanlış yapılandırılmış veya çalışmayan bir proxy, tüm web sitelerinde aynı anda görülen ERR_CONNECTION_REFUSED hatasının en yaygın nedenlerinden biridir. Sisteminiz trafiği artık var olmayan bir proxy üzerinden yönlendirecek şekilde ayarlandığında — genellikle eski bir VPN, okul/iş yapılandırması ya da kötü amaçlı yazılımdan kalan — her bağlantı reddedilir.
Windows: Ayarlar → Ağ ve İnternet → Proxy yolunu açın. Manuel proxy kurulumu altında "Proxy sunucusu kullan" seçeneğini kapatın ve kurumsal bir proxy kullanmıyorsanız "Ayarları otomatik olarak algıla" seçeneğini kapatın.
macOS: Sistem Ayarları → Ağ → Wi-Fi → Ayrıntılar → Proxy'ler yolunu açın. Kuruluşunuz gerektirmiyorsa listedeki her protokolün (Web Proxy HTTP, Secure Web Proxy HTTPS, SOCKS Proxy) işaretini kaldırın, ardından Tamam'a tıklayın.
Chrome, işletim sisteminin proxy ayarlarını kullanır; bu nedenle bunları değiştirdikten sonra tarayıcıyı yeniden başlatın ve tekrar test edin.
Çözüm 5: DNS Önbelleğinizi Temizleyin
Web sitesi kısa süre önce yeni bir sunucuya taşındıysa, önbelleğe alınmış DNS kaydınız hâlâ eski IP adresini gösteriyor olabilir — artık hiçbir şeyin dinlemediği bir adres, dolayısıyla bağlantı reddedilir. Önbelleği temizlemek, cihazınızı güncel adresi aramaya zorlar.
# Windows (Command Prompt as Administrator)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo resolvectl flush-caches
# Also clear Chrome's internal DNS cache:
# chrome://net-internals/#dns → Clear host cacheTemizledikten sonra, Chrome'un kendi DNS önbelleğini de chrome://net-internals/#dns adresinden temizleyin ve chrome://net-internals/#sockets adresinden soket havuzlarını boşaltın — Chrome bunların ikisini de işletim sisteminden ayrı tutar. Ayrıntılı anlatım için her işletim sisteminde DNS önbelleği nasıl temizlenir rehberimize bakın.
Alan adının şu anda hangi IP'ye çözümlendiğini DNS Robot'un DNS Lookup aracıyla doğrulayabilirsiniz — terminalinizdeki nslookup, küresel sonuçtan farklı bir IP gösteriyorsa, sorun önbelleğinizdi.
Advertisement
Çözüm 6: Genel Bir DNS Sunucusuna Geçin
ISS'nizin DNS sunucusu güncel olmayan kayıtlar döndürüyorsa, önbelleği temizlemek işe yaramaz — aynı eski IP'yi yeniden çekersiniz. Hızlı bir genel çözümleyiciye geçmek güncel kayıtları getirir ve genellikle gezinmeyi genel olarak hızlandırır.
| Sağlayıcı | Birincil DNS | İkincil DNS | En İyi Kullanım |
|---|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 | Hız ve gizlilik |
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | Güvenilirlik |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Kötü amaçlı yazılım engelleme |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | İçerik filtreleme |
Windows: Ayarlar → Ağ ve İnternet → bağlantınız → DNS sunucusu atamasını düzenle → Manuel → IPv4 açık → 1.1.1.1 ve 1.0.0.1 girin → Kaydet.
macOS: Sistem Ayarları → Ağ → Wi-Fi → Ayrıntılar → DNS → 1.1.1.1 ve 1.0.0.1 ekleyin, eski girişleri kaldırın → Tamam.
Konumunuzdan hangi çözümleyicinin en hızlı olduğundan emin değil misiniz? DNS Robot'un DNS Speed Test aracını çalıştırın — Cloudflare, Google, Quad9 ve diğerlerini kendi bağlantınızdan saniyeler içinde kıyaslar.
Çözüm 7: VPN, Antivirüs ve Güvenlik Duvarını Geçici Olarak Devre Dışı Bırakın
VPN'ler, antivirüs web kalkanları ve güvenlik duvarları; hepsi tarayıcınızla internet arasında yer alır ve her biri bağlantıları reddedebilir. Antivirüslerin HTTPS tarama özellikleri sık karşılaşılan bir suçludur: güvenli trafiğinizi yerel bir hizmet üzerinden proxy'ler ve o hizmet bozulduğunda her HTTPS sitesi reddedilir.
Şu sırayla test edin: VPN bağlantısını kesin ve sayfayı yeniden yükleyin. Ardından antivirüs web koruması modülünü bir dakikalığına devre dışı bırakın ve yeniden yükleyin. Son olarak, güvenlik duvarını (Windows Defender Güvenlik Duvarı veya macOS Güvenlik Duvarı) kısa süreliğine kapatın ve yeniden yükleyin.
Bunlardan birini devre dışı bıraktıktan sonra site yükleniyorsa, korumayı kapalı bırakmak yerine onu tekrar etkinleştirin ve site için bir istisna ekleyin — ya da farklı bir VPN sunucu konumuna geçin.
Çözüm 8: Uzantıları Gizli Modda Test Edin
Reklam engelleyiciler, gizlilik araçları ve VPN uzantıları belirli ana bilgisayarlara olan bağlantıları sessizce engelleyebilir. Hızlı test: siteyi çoğu uzantının varsayılan olarak devre dışı olduğu bir Gizli pencerede (Ctrl+Shift+N / Cmd+Shift+N) açın.
Site Gizli modda yükleniyorsa, nedeni bir uzantıdır. chrome://extensions adresine gidin, hepsini devre dışı bırakın, ardından hata geri dönene kadar birer birer yeniden etkinleştirin — suçlunuz odur. Onu kaldırın veya siteyi filtrelerinden hariç tutun.
Çözüm 9: Hosts Dosyanızı Kontrol Edin
Hosts dosyanız belirli alan adları için DNS'i geçersiz kılar. Site orada 127.0.0.1, 0.0.0.0 veya eski bir sunucu IP'sine eşlenmişse, tarayıcınız onun yerine o adrese bağlanır — ve reddedilir. Geride kalan geliştirme girişleri ve reklam engelleyen hosts listeleri her zamanki şüphelilerdir.
# Windows — open as Administrator:
notepad C:\Windows\System32\drivers\etc\hosts
# macOS / Linux:
sudo nano /etc/hosts
# Look for lines containing the domain, e.g.:
# 127.0.0.1 example.com ← forces the connection to your own PC
# 203.0.113.7 example.com ← forces an old server IP
# Delete the offending line, save, then flush DNS.Advertisement
Localhost Refused to Connect (Geliştiriciler İçin)
127.0.0.1'de localhost refused to connect veya ERR_CONNECTION_REFUSED görmek her geliştirici için bir geçiş törenidir. Bu, makinenizde istediğiniz portta bağlantı kabul eden hiçbir şeyin olmadığı anlamına gelir. Her zamanki nedenler:
Geliştirme sunucusu çalışmıyor — Onu hiç başlatmadınız ya da çöktü.
npm run dev,rails sveyapython manage.py runserverkomutunun çalışıyor olması gereken terminali kontrol edin.Yanlış port — Sunucu farklı bir portta başladı (örneğin 3000 meşgul olduğu için 3001) ve siz eskisini açıyorsunuz. Hangi porta bağlandığını belirten başlangıç günlüğü satırını okuyun.
Farklı bir arabirime bağlanmış — Sunucu
0.0.0.0adresine veya bir konteynerin dahili IP'sine bağlandı, ancak sizlocalhostadresine gidiyorsunuz — ya da tam tersi. Docker port eşlemeleri (-p 3000:3000), uygulamanın konteyner içinde dinlediği portla eşleşmelidir.Güvenlik duvarı veya güvenlik yazılımı — Yerel güvenlik duvarları geri döngü (loopback) portlarını bile engelleyebilir; bu, kurumsal makinelerde yaygındır.
HTTPS'e karşı HTTP — https://localhost:3000 adresini açıyorsunuz ancak geliştirme sunucusu yalnızca düz HTTP konuşuyor. Açıkça http:// deneyin.
# Which process is listening on port 3000?
# macOS / Linux:
lsof -i :3000
# Windows (PowerShell):
netstat -ano | findstr :3000
# No output = nothing is listening = connection refused.
# Start your dev server, or kill the stale process and restart it.Genel sunucunuzdaki bir portun (yalnızca makinenin kendisinden değil) internetten erişilebilir olup olmadığını kontrol etmeniz gerekiyorsa, DNS Robot'un Port Checker aracını kullanın — bağlantıyı ağınızın dışından test eder; ziyaretçilerinizin gerçekte deneyimlediği şey budur.
Web Sitesi Sahipleri İçin: Siteniz Bağlantıları Reddediyor
Ziyaretçiler kendi web sitenizde ERR_CONNECTION_REFUSED bildiriyorsa, sunucu açıktır (DNS çözümleniyor, makine muhtemelen ping'e yanıt veriyor) ancak web hizmeti bağlantıları kabul etmiyordur. Şu kontrol listesini uygulayın:
Web sunucusu işlemi çalışıyor mu? SSH ile bağlanıp kontrol edin:
systemctl status nginx(veya apache2, caddy). Başarısız bir yeniden yüklemenin ardından çöken bir işlem ya da bellek yetersizliği nedeniyle sonlandırma 1 numaralı nedendir. Yeniden başlatın:sudo systemctl restart nginx.Doğru portları dinliyor mu?
ss -tlnp | grep -E ':80|:443'komutunu çalıştırın. 443'te hiçbir şey dinlemiyorsa, TLS yapılandırmanız yüklenememiştir — yapılandırma hataları içinnginx -tkomutunu kontrol edin.Güvenlik duvarı açık mı?
ufw statuskomutunu veya bulut sağlayıcınızın güvenlik grubunu kontrol edin. 80 ve 443 portları 0.0.0.0/0 kaynağından gelen TCP trafiğine izin vermelidir.Sunucu IP'niz değişti mi? DNS Lookup kullanarak DNS A kaydınızı sunucunun gerçek IP'siyle karşılaştırın. Bir taşımadan sonra, eski bir A kaydı ziyaretçileri önceki makineye gönderir.
Dışarıdan test edin — 80 ve 443 portlarında Port Checker aracını ve sunucunuzun genel internetten gelen gerçek isteklere yanıt verdiğini doğrulamak için HTTP Headers Checker aracını kullanın.
Çözümün İşe Yaradığını Nasıl Doğrularsınız
Her çözümden sonra, yalnızca sayfayı yeniden yüklemek yerine bağlantıyı ağ düzeyinde doğrulayın — bu size portun gerçekten açılıp açılmadığını söyler.
# Test the TCP connection directly (Mac/Linux):
nc -zv example.com 443
# "succeeded" = port open, "refused" = still rejected
# Windows (PowerShell):
Test-NetConnection example.com -Port 443
# TcpTestSucceeded : True = fixed
# Then confirm what IP you're actually connecting to:
nslookup example.comYa da terminali atlayın: harici bir ağdan anında açık/kapalı yanıtı almak için alan adını ve portu DNS Robot'un Port Checker aracına girin. Port dışarıdan açıksa ancak tarayıcınız hâlâ ERR_CONNECTION_REFUSED gösteriyorsa, engelleyici cihazınızdadır — yukarıdaki proxy, VPN, antivirüs ve hosts dosyası çözümlerine geri dönün.
Port açık mı — yoksa sunucu gerçekten mi reddediyor?
DNS Robot'un ücretsiz Port Checker aracı, herhangi bir alan adını ve portu harici bir ağdan saniyeler içinde test eder. Bir sitenin 80/443 portlarının açık, kapalı mı yoksa filtrelenmiş mi olduğunu anında görün — "herkes için mi kapalı yoksa yalnızca benim için mi?" sorusunun kesin yanıtı.
Dene Port CheckerAdvertisement
Sıkça Sorulan Sorular
Tarayıcınızın web sitesinin sunucusuna ulaştığı ancak sunucunun o portta TCP bağlantısını etkin biçimde reddettiği anlamına gelir. DNS çözümlemesi çalışmıştır — tarayıcı sunucunun IP'sini bilir — ancak bağlantıyı hiçbir şey kabul etmemiştir: web hizmeti kapalıdır, bir güvenlik duvarı reddetmiştir ya da cihazınız eski bir önbellek veya proxy üzerinden yanlış adrese bağlanmıştır.