ERR_CONNECTION_REFUSED, tarayıcının bir adrese bağlanmaya çalıştığında bağlantının kabul edilmediğini bildiren bir ağ hatasıdır. Chrome gibi tarayıcılarda “Bu siteye ulaşılamıyor” benzeri bir mesajla birlikte görülebilir. Hata, 404 veya 500 gibi bir HTTP durum kodu değildir; bağlantı kurulmadan önce, ağın bağlantı katmanında ortaya çıkabilir.
ERR_CONNECTION_REFUSED ne demek?
Tarayıcı bir web adresini açarken önce alan adını çözer, ardından hedef sunucuya bağlantı kurmaya çalışır. ERR_CONNECTION_REFUSED görüldüğünde hedefteki servis bağlantıyı kabul etmiyor olabilir. Bunun nedeni çalışmayan bir web sunucusu, yanlış port, güvenlik duvarı, proxy/VPN ayarı veya yerel ağ yapılandırması olabilir.
Bu nedenle tek bir çözüm yoktur. En hızlı yöntem, hatanın yalnızca bir sitede mi yoksa birden fazla sitede mi görüldüğünü belirlemektir.
Önce sorunun nerede olduğunu belirleyin
- Yalnızca bir site açılmıyorsa: Hedef sunucu, port, proxy veya o siteye uygulanan bir güvenlik kuralı daha olasıdır.
- Birçok site açılmıyorsa: Yerel ağ, VPN, proxy, güvenlik yazılımı veya cihaz yapılandırmasını kontrol edin.
- Siteyi siz yönetiyorsanız: Web sunucusunun çalışıp çalışmadığını, doğru portu dinleyip dinlemediğini ve güvenlik duvarı kurallarını ayrıca inceleyin.
Ziyaretçi tarafında ERR_CONNECTION_REFUSED çözümü
1. Adresi ve bağlantıyı kontrol edin
URL’de yazım hatası olmadığından emin olun. Özellikle http ve https ayrımına ve URL’de açıkça belirtilmiş bir port varsa port numarasına bakın. Ardından aynı siteyi başka bir tarayıcıda veya mümkünse telefonunuzun mobil internetiyle deneyin. Sorun yalnızca tek cihazda görülüyorsa yerel tarafta arama yapmak daha doğru olur.
2. VPN ve proxy’yi geçici olarak test edin
VPN veya proxy, tarayıcı ile hedef sunucu arasındaki yolu değiştirebilir. Kullandığınız VPN’i bağlantıyı keserek, manuel bir proxy yapılandırması varsa geçici olarak devre dışı bırakarak test edin. Sorun çözülürse korumayı tamamen kapatmak yerine hangi ayarın bağlantıyı etkilediğini belirleyin.
3. Güvenlik yazılımlarını kontrol edin
Güvenlik duvarı veya ağ filtreleme yazılımı belirli bağlantıları engelleyebilir. Koruma özelliklerini kalıcı olarak kapatmak yerine, yazılımın engelleme kayıtlarını kontrol etmek ve gerekiyorsa yalnızca güvenilir hedef için uygun bir izin kuralı oluşturmak daha güvenlidir.
4. DNS ve ağ önbelleğini yenileyin
ERR_CONNECTION_REFUSED doğrudan bir DNS hatası olmak zorunda değildir; ancak ağ yapılandırmasındaki sorunlar benzer erişim problemlerine eşlik edebilir. Windows’ta Komut İstemi’ni yönetici olarak açıp ipconfig /flushdns komutunu çalıştırabilirsiniz. Sorun devam ediyorsa işletim sisteminin ağ sorun giderme araçlarını kullanın.
Site sahibiyseniz ne yapmalısınız?
Sunucu tarafında ilk kontrol web sunucusunun gerçekten çalışıp çalışmadığıdır. Nginx, Apache veya uygulamanızın kullandığı servis durmuşsa hedef portta bağlantı kabul edilmeyebilir. Ayrıca servis doğru IP adresine ve porta bağlanmış mı, güvenlik duvarı ilgili trafiği engelliyor mu ve reverse proxy arka uç servise ulaşabiliyor mu kontrol edilmelidir.
Geliştirme ortamlarında localhost ve port kullanımı özellikle önemlidir. Örneğin uygulama 3000 numaralı portta çalışırken tarayıcıda farklı bir port açılmaya çalışılırsa bağlantı reddedilebilir. Docker, WSL veya sanal makinelerde de port yönlendirmesinin doğru olduğundan emin olun.
ERR_CONNECTION_REFUSED ile 404, 500 ve 502 aynı şey değildir
Bu hataları birbirine karıştırmamak teşhis süresini kısaltır. 404 Not Found hatası, sunucunun istenen kaynağı bulamadığını ifade eder. 500 Internal Server Error sunucu tarafında beklenmeyen bir hata oluştuğunu gösterir. 502 Bad Gateway ise bir gateway veya proxy’nin upstream sunucudan geçerli yanıt alamamasıyla ilgilidir. ERR_CONNECTION_REFUSED ise HTTP yanıtı alınmadan önce bağlantının kabul edilmemesiyle ilgilidir.
Geliştiriciler için hızlı teşhis
Bir uygulama veya localhost adresi üzerinde çalışıyorsanız tarayıcıdaki hatayı sunucu günlüğüyle birlikte değerlendirin. İlgili portta gerçekten bir servis dinliyor mu, uygulama başlarken hata veriyor mu ve servis yalnızca localhost’a mı bağlanmış kontrol edin. Aynı adresi curl ile test etmek de tarayıcı kaynaklı bir problemi sunucu kaynaklı problemden ayırmaya yardımcı olabilir.
Örneğin tarayıcıda http://localhost:3000 açılmıyorsa önce uygulamanın gerçekten 3000 numaralı portta çalıştığını doğrulayın. Uygulama başka bir portta çalışıyorsa URL’yi buna göre düzeltin. Docker veya sanal makine kullanıyorsanız host ile container arasındaki port eşlemesini de kontrol edin.
5 dakikalık kontrol listesi
- Aynı siteyi başka bir cihaz veya mobil internet üzerinden deneyin.
- URL’de yazım, protokol ve varsa port numarasını kontrol edin.
- VPN, proxy ve ağ filtreleme yazılımlarını kontrollü biçimde test edin.
- Windows’ta
ipconfig /flushdnsçalıştırıp bağlantıyı yeniden deneyin. - Site sahibiyseniz web sunucusunun çalıştığını ve doğru portu dinlediğini kontrol edin.
- Reverse proxy veya firewall kullanıyorsanız istemci ile upstream arasındaki yolu inceleyin.
Hata devam ediyorsa
Hangi cihazda, hangi ağda ve hangi sitelerde hatanın oluştuğunu not edin. Site sahibiyseniz web sunucusu, reverse proxy ve güvenlik duvarı günlüklerini aynı zaman aralığında inceleyin. Sorun yalnızca sizin bağlantınızda görülüyorsa VPN, proxy, güvenlik yazılımı ve ağ yapılandırmasını; herkeste görülüyorsa sunucu tarafını önceliklendirin.
Görsel: “Server Error.jpg”, Roshan13046, Wikimedia Commons, CC BY-SA 4.0.