ERR_CONNECTION_REFUSED: Arti dan Cara Mengatasinya

Advertisement
Apa Itu ERR_CONNECTION_REFUSED?
ERR_CONNECTION_REFUSED adalah error Chrome yang muncul ketika browser berhasil mencapai server situs tetapi server secara aktif menolak koneksinya. Di level jaringan, komputer Anda mengirim permintaan koneksi TCP (SYN) ke alamat IP dan port server, dan alih-alih menerimanya, server — atau firewall di depannya — menjawab dengan paket reset (RST) yang artinya "tidak ada apa pun di sini yang mau bicara denganmu."
Ini membuat ERR_CONNECTION_REFUSED berbeda secara mendasar dari error DNS seperti DNS_PROBE_FINISHED_NXDOMAIN. Pada error DNS, nama domain tidak pernah ter-resolve menjadi alamat IP. Pada ERR_CONNECTION_REFUSED, DNS bekerja sempurna — browser tahu persis di mana servernya — tetapi mesin di alamat itu menolak membuka pintu.
Penolakan biasanya berarti salah satu dari tiga hal: tidak ada layanan yang mendengarkan di port itu (web server mati atau crash), firewall menolak lalu lintas ke port itu, atau perangkat Anda tersambung ke alamat IP yang salah sama sekali — misalnya lewat cache DNS basi atau proxy yang rusak.
Seperti Apa Error Ini di Browser Lain
Setiap browser melaporkan koneksi yang ditolak dengan cara berbeda, tetapi penolakan TCP di baliknya identik.
| Browser | Pesan Error |
|---|---|
| Google Chrome | Situs ini tidak dapat dijangkau — [situs] menolak untuk tersambung. ERR_CONNECTION_REFUSED |
| Microsoft Edge | Hmmm… tidak dapat membuka halaman ini — [situs] menolak untuk tersambung. |
| Mozilla Firefox | Gagal tersambung — Firefox tidak dapat membuat sambungan ke server. |
| Safari | Safari Tidak Dapat Tersambung ke Server |
| Brave / Opera | Situs ini tidak dapat dijangkau — ERR_CONNECTION_REFUSED |
Browser berbasis Chromium (Chrome, Edge, Brave, Opera) semuanya menampilkan kode mentah ERR_CONNECTION_REFUSED. Firefox dan Safari mengungkapkannya dengan bahasa biasa, tetapi penyebab dan solusinya persis sama.
Penyebab Umum ERR_CONNECTION_REFUSED
Kira-kira separuh kasus masalahnya ada di sisi server, dan separuh lagi ada sesuatu di perangkat atau jaringan Anda yang mengganggu. Berikut penyebab paling umum, dari yang paling sering ke paling jarang.
Server situs sedang down — Layanan web (nginx, Apache, Node.js) crash, sedang restart, atau dihentikan. Mesinnya online tetapi tidak ada yang menjawab di port 80/443.
Firewall memblokir port — Firewall di server, jaringan Anda, atau perangkat Anda menolak koneksi ke port itu.
Pengaturan proxy salah konfigurasi — Sistem Anda merutekan lalu lintas melalui server proxy yang offline atau tidak terjangkau. Ini salah satu penyebab sisi klien yang paling umum.
Cache DNS basi — Situs pindah ke server baru, tetapi entri DNS yang ter-cache masih menunjuk IP lama tempat tidak ada lagi yang mendengarkan.
Gangguan VPN atau antivirus — Perangkat lunak keamanan mencegat koneksi lalu menolaknya, atau server keluar VPN tidak bisa menjangkau situs.
Gangguan ekstensi browser — Ad blocker, ekstensi privasi, atau ekstensi yang terinfeksi malware bisa memblokir koneksi ke host tertentu.
Override file hosts — Domain dipetakan ke IP yang salah (sering 127.0.0.1) di file hosts, sehingga browser tersambung ke mesin Anda sendiri, yang menolak.
Tidak ada yang mendengarkan di localhost — Untuk developer: server dev lokal tidak berjalan, crash, atau terikat ke port yang berbeda dari yang Anda buka.
Masalah router — Router atau modem yang error merusak koneksi sampai di-restart.
Solusi 1: Cek Apakah Situs Down untuk Semua Orang
Sebelum mengubah apa pun di perangkat, cari tahu dulu apakah masalahnya di sisi server — jika situs down untuk semua orang, tidak ada perbaikan lokal yang akan membantu.
Cara pengujian paling bersih adalah lewat jalur jaringan berbeda. Buka situs di ponsel memakai data seluler (Wi-Fi mati). Jika di sana juga gagal, server itu sendiri sedang menolak koneksi dan Anda hanya bisa menunggu pemilik situs memperbaikinya.
Anda juga bisa menguji server langsung dengan alat-alat DNS Robot ini:
[Port Checker](/port-checker) — Masukkan domain situs dan uji port 443 (HTTPS) dan port 80 (HTTP). Jika keduanya tertutup, web server sedang down atau di-firewall untuk semua orang, bukan hanya Anda.
[Ping Test](/ping) — Memeriksa apakah mesin server merespons sama sekali. Jika ping berhasil tetapi port tertutup, mesinnya hidup tetapi layanan web-nya mati.
[HTTP Headers Checker](/http-headers) — Mengirim permintaan HTTP sungguhan dari server DNS Robot. Jika mendapat respons sementara browser Anda tidak, masalahnya lokal di perangkat atau jaringan Anda.
Advertisement
Solusi 2: Restart Router dan Perangkat
Langkah pertama klasik yang ada alasannya: reboot membersihkan tabel koneksi router, cache DNS, dan status NAT yang error yang bisa menyebabkan koneksi ditolak.
Cabut router (dan modem, jika terpisah) dari listrik, tunggu 30 detik, colokkan kembali, dan beri waktu 2–3 menit sampai tersambung penuh. Restart juga komputer atau ponsel untuk menyetel ulang tumpukan jaringannya, lalu coba situsnya lagi.
Solusi 3: Hapus Cache dan Cookie Browser
Chrome mungkin menyimpan redirect rusak, entri HSTS lama, atau cookie yang mengarahkan Anda ke server mati. Menghapusnya memaksa koneksi yang benar-benar segar.
Buka Chrome → klik menu titik tiga → Hapus data penjelajahan
Rentang waktu → pilih Sepanjang waktu
Centang "Cookie dan data situs lainnya" dan "Gambar dan file dalam cache"
Klik Hapus data, restart Chrome, dan coba situsnya lagi
Solusi 4: Nonaktifkan Pengaturan Proxy
Proxy yang salah konfigurasi atau sudah mati adalah salah satu penyebab paling umum ERR_CONNECTION_REFUSED di semua situs sekaligus. Ketika sistem diatur merutekan lalu lintas lewat proxy yang sudah tidak ada — sering peninggalan VPN lama, konfigurasi sekolah/kantor, atau malware — semua koneksi ditolak.
Windows: Buka Pengaturan → Jaringan & Internet → Proxy. Matikan "Gunakan server proxy" di bagian Penyiapan proxy manual, dan matikan "Deteksi pengaturan secara otomatis" jika Anda tidak memakai proxy kantor.
macOS: Buka Pengaturan Sistem → Jaringan → Wi-Fi → Detail → Proxy. Hapus centang semua protokol dalam daftar (Web Proxy HTTP, Secure Web Proxy HTTPS, SOCKS Proxy) kecuali organisasi Anda mewajibkannya, lalu klik OK.
Chrome memakai pengaturan proxy sistem operasi, jadi setelah mengubahnya, restart browser dan uji lagi.
Solusi 5: Bersihkan Cache DNS
Jika situs baru saja pindah ke server baru, entri DNS yang ter-cache bisa masih menunjuk alamat IP lama — tempat tidak ada lagi yang mendengarkan, sehingga koneksi ditolak. Membersihkan cache memaksa perangkat mencari alamat terkini.
# 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 cacheSetelah flush, bersihkan juga cache DNS milik Chrome di chrome://net-internals/#dns dan flush socket pool di chrome://net-internals/#sockets — Chrome menyimpan keduanya terpisah dari sistem operasi. Untuk panduan lengkapnya, lihat artikel kami tentang cara flush DNS di semua OS.
Anda bisa memastikan IP mana yang saat ini dipetakan domain lewat DNS Lookup dari DNS Robot — jika nslookup di terminal menunjukkan IP berbeda dari hasil global, cache Anda-lah masalahnya.
Advertisement
Solusi 6: Beralih ke Server DNS Publik
Jika server DNS ISP mengembalikan record usang, membersihkan cache tidak akan membantu — Anda hanya mengambil ulang IP basi yang sama. Beralih ke resolver publik yang cepat memberi record terkini dan sering mempercepat browsing secara keseluruhan.
| Penyedia | DNS Primer | DNS Sekunder | Paling Cocok Untuk |
|---|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 | Kecepatan dan privasi |
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | Keandalan |
| Quad9 | 9.9.9.9 | 149.112.112.112 | Pemblokiran malware |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | Penyaringan konten |
Windows: Pengaturan → Jaringan & Internet → koneksi Anda → Edit penetapan server DNS → Manual → aktifkan IPv4 → masukkan 1.1.1.1 dan 1.0.0.1 → Simpan.
macOS: Pengaturan Sistem → Jaringan → Wi-Fi → Detail → DNS → tambahkan 1.1.1.1 dan 1.0.0.1, hapus entri lama → OK.
Tidak yakin resolver mana yang tercepat dari lokasi Anda? Jalankan DNS Speed Test dari DNS Robot — ia membandingkan Cloudflare, Google, Quad9, dan lainnya dari koneksi Anda sendiri dalam hitungan detik.
Solusi 7: Nonaktifkan Sementara VPN, Antivirus, dan Firewall
VPN, pelindung web antivirus, dan firewall semuanya berada di antara browser dan internet, dan masing-masing bisa menolak koneksi. Fitur pemindaian HTTPS antivirus adalah pelaku yang sering: ia mem-proxy lalu lintas aman Anda melalui layanan lokal, dan saat layanan itu rusak, semua situs HTTPS ditolak.
Uji dengan urutan ini: putuskan VPN lalu muat ulang. Kemudian nonaktifkan modul proteksi web antivirus semenit lalu muat ulang. Terakhir, matikan sebentar firewall (Windows Defender Firewall, atau Firewall macOS) lalu muat ulang.
Jika situs terbuka setelah salah satunya dimatikan, aktifkan kembali dan tambahkan pengecualian untuk situs itu — atau ganti lokasi server VPN — daripada membiarkan proteksi mati.
Solusi 8: Uji Ekstensi di Mode Incognito
Ad blocker, alat privasi, dan ekstensi VPN bisa diam-diam memblokir koneksi ke host tertentu. Tes cepatnya: buka situs di jendela Incognito (Ctrl+Shift+N / Cmd+Shift+N), tempat sebagian besar ekstensi nonaktif secara default.
Jika situs terbuka di Incognito, ekstensilah penyebabnya. Buka chrome://extensions, nonaktifkan semuanya, lalu aktifkan satu per satu sampai error-nya kembali — itulah pelakunya. Hapus ekstensinya atau kecualikan situs dari filternya.
Solusi 9: Periksa File Hosts
File hosts meng-override DNS untuk domain tertentu. Jika situs dipetakan di sana ke 127.0.0.1, 0.0.0.0, atau IP server lama, browser tersambung ke alamat itu — dan ditolak. Entri development yang tertinggal dan daftar hosts pemblokir iklan adalah tersangka biasa.
# 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 (Untuk Developer)
Melihat localhost refused to connect atau ERR_CONNECTION_REFUSED di 127.0.0.1 adalah ritual wajib setiap developer. Artinya tidak ada apa pun di mesin Anda yang menerima koneksi di port yang diminta. Alasan-alasan umumnya:
Server dev tidak berjalan — Anda belum memulainya, atau ia crash. Cek terminal tempat
npm run dev,rails s, ataupython manage.py runserverseharusnya berjalan.Salah port — Server mulai di port berbeda (misalnya 3001 karena 3000 sedang dipakai) dan Anda membuka port lama. Baca baris log startup yang menyebut port mana yang dipakainya.
Terikat ke interface berbeda — Server terikat ke
0.0.0.0atau IP internal container, tetapi Anda mengakseslocalhost— atau sebaliknya. Pemetaan port Docker (-p 3000:3000) harus cocok dengan port yang didengarkan aplikasi di dalam container.Firewall atau perangkat lunak keamanan — Firewall lokal bisa memblokir bahkan port loopback; ini umum di mesin kantor.
HTTPS vs HTTP — Anda membuka https://localhost:3000 padahal server dev hanya bicara HTTP biasa. Coba http:// secara eksplisit.
# 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.Jika Anda perlu memeriksa apakah port di server publik bisa dijangkau dari internet (bukan hanya dari mesin itu sendiri), pakai Port Checker dari DNS Robot — ia menguji koneksi dari luar jaringan Anda, yang memang dialami pengunjung Anda.
Untuk Pemilik Situs: Situs Anda Menolak Koneksi
Jika pengunjung melaporkan ERR_CONNECTION_REFUSED di situs Anda sendiri, servernya hidup (DNS ter-resolve, mesin kemungkinan merespons ping) tetapi layanan web tidak menerima koneksi. Kerjakan checklist ini:
Apakah proses web server berjalan? SSH masuk dan periksa:
systemctl status nginx(atau apache2, caddy). Proses crash setelah reload gagal atau out-of-memory kill adalah penyebab #1. Restart:sudo systemctl restart nginx.Apakah ia mendengarkan di port yang benar? Jalankan
ss -tlnp | grep -E ':80|:443'. Jika tidak ada yang mendengarkan di 443, konfigurasi TLS Anda gagal dimuat — ceknginx -tuntuk error konfigurasi.Apakah firewall terbuka? Cek
ufw statusatau security group penyedia cloud Anda. Port 80 dan 443 harus mengizinkan TCP masuk dari 0.0.0.0/0.Apakah IP server berubah? Bandingkan record A DNS dengan IP server sesungguhnya memakai DNS Lookup. Setelah migrasi, record A lama mengirim pengunjung ke mesin sebelumnya.
Uji dari luar — Pakai Port Checker di port 80 dan 443, serta HTTP Headers Checker untuk memastikan server menjawab permintaan nyata dari internet publik.
Cara Memverifikasi Perbaikannya Berhasil
Setelah setiap perbaikan, konfirmasikan koneksi di level jaringan alih-alih sekadar memuat ulang halaman — ini memberi tahu apakah port-nya benar-benar terbuka.
# 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.comAtau lewati terminal: masukkan domain dan port ke Port Checker dari DNS Robot untuk jawaban terbuka/tertutup seketika dari jaringan eksternal. Jika port terbuka secara eksternal tetapi browser masih menampilkan ERR_CONNECTION_REFUSED, pemblokirnya ada di perangkat Anda — tinjau kembali solusi proxy, VPN, antivirus, dan file hosts di atas.
Apakah port-nya terbuka — atau server benar-benar menolak?
Port Checker gratis dari DNS Robot menguji domain dan port apa pun dari jaringan eksternal dalam hitungan detik. Langsung lihat apakah port 80/443 sebuah situs terbuka, tertutup, atau terfilter — jawaban pasti untuk "down untuk semua orang atau cuma saya?"
Coba Port CheckerAdvertisement
Pertanyaan yang Sering Diajukan
Artinya browser berhasil mencapai server situs tetapi server secara aktif menolak koneksi TCP di port itu. Resolusi DNS berhasil — browser tahu IP server — tetapi tidak ada yang menerima koneksinya: layanan web mati, firewall menolaknya, atau perangkat Anda tersambung ke alamat yang salah lewat cache basi atau proxy.