Cara memperbaiki error “Localhost refused to connect” (5 metode)

Pernahkah Anda mengalami error “localhost refused to connect” atau “ERR_Connection_Refused” saat menangani tugas yang berkaitan dengan localhost?

Jadi, ketika mengakses sebuah alamat IP, Anda sebenarnya sedang mencoba terhubung ke komputer lain. Nah, localhost menggunakan alamat jaringan loopback sehingga koneksinya mengarah ke komputer Anda sendiri.

Itulah mengapa localhost biasanya digunakan untuk menguji program atau website yang masih dalam pengembangan, karena bisa mengurangi risiko downtime pada website yang sudah online. Namun, apabila tidak bisa mengakses localhost, artinya Anda juga tidak akan bisa mengakses proyek yang dikembangkan di lingkungan lokal.

Penyebab error ini bisa dari berbagai faktor, seperti pada tabel di bawah ini. Perlu diingat juga bahwa untuk mengakses localhost, Anda harus menggunakan sistem lokal, tidak bisa di perangkat lain.

Kode errorLocalhost Refused to Connect
Jenis errorBrowser/Firewall
Variasi errorERR_CONNECTION_REFUSED
127.0.0.1 refused to connect
This site can’t be reached localhost refused to connect.
Penyebab errorServer diblokir oleh firewall
Server berjalan pada port yang salah
Server Apache tidak berjalan dengan benar
Browser perlu dikonfigurasi ulang

Error “Localhost refused to connect” menandakan bahwa sistem Anda tidak bisa terhubung ke server lokal. Pada dasarnya, localhost adalah sistem yang berfungsi sebagai web server yang berjalan di komputer Anda. Ketika error ini muncul, kemungkinan besar penyebabnya adalah kesalahan konfigurasi port. Namun, ada beberapa alasan lain, seperti izin yang tidak memadai atau masalah dengan server Apache yang tidak berjalan dengan baik.

5 cara mengatasi “localhost refused to connect”

Berikut adalah lima cara untuk mengatasi error “localhost refused to connect” yang bisa Anda coba. Metode di bagian ini tidak memiliki urutan tertentu, jadi cobalah satu per satu sampai masalah Anda teratasi.

1. Pastikan Apache berjalan

Apabila web server Apache tidak berjalan, Anda tidak akan bisa mengakses localhost.

Untuk memeriksa status Apache di XAMPP, cukup buka XAMPP lalu lihat tombol di samping Apache. Kalau Anda melihat tombol Start, artinya Apache belum berjalan. Klik tombol tersebut untuk mengaktifkannya.

tampilan xampp dengan tombol start di samping apache yang dipilih

Kalau menggunakan Linux, perintahnya akan berbeda-beda tergantung pada distribusi yang digunakan.

Untuk Debian atau Ubuntu:

$ sudo systemctl status apache2

Untuk CentOS/RHEL/Fedora:

# systemctl status httpd

Perintah ini akan memberi tahu Anda apakah server sedang berjalan atau berhenti.

Apabila server berhenti, coba restart dengan perintah berikut:

Untuk Debian dan Ubuntu:

sudo systemctl restart apache2

Untuk CentOS/RHEL/Fedora:

# systemctl restart httpd

Output perintah restart akan terlihat seperti ini:

* Restarting web server apache2  [ OK ]

Kalau gagal, Anda akan menerima pesan error yang berbeda-beda tergantung pada distribusi yang digunakan, seperti:

apache2: unrecognized service
Failed to restart apache2.service: Unit apache.service failed to load: No such file or directory.

Apabila Anda melihat pesan-pesan error ini, coba instal ulang layanan Apache. Setelah terinstal dengan benar, coba restart kembali menggunakan perintah yang sesuai.

2. Buat koneksi lewat port yang ditentukan

Nomor port default untuk web server adalah 80. Ketika Anda mencoba mengaksesnya dengan mengetikkan localhost di browser, Anda akan secara otomatis diarahkan ke localhost:80.

Namun, apabila server Anda tidak dikonfigurasi untuk menggunakan port default tersebut, Anda akan melihat error “localhost refused to connect”.

Terkadang, port 80 sudah digunakan oleh aplikasi lain di komputer Anda. Sebagai contoh, kalau aplikasi Skype sedang menggunakannya, Anda tidak akan bisa menjalankan Apache pada port yang sama.

Untuk mengatasi masalah ini, periksa dulu apakah port 80 tidak sedang dipakai. Kita akan menggunakan XAMPP di tutorial ini. Berikut adalah langkah-langkah untuk memeriksa port yang sedang digunakan di Windows dan Linux, yang akan sedikit berbeda di Mac:

  1. Klik Start Menu untuk membuka XAMPP.
  2. Klik tombol Netstat di sisi kanan control panel.
memilih tombol netstat di xampp
  1. Anda akan melihat semua port yang digunakan di komputer Anda. Cek apakah port 80 kosong atau digunakan oleh aplikasi lain.
tampilan netstat mencantumkan daftar port yang digunakan di xampp
  1. Apabila port 80 sudah digunakan oleh aplikasi lain, pilih nomor port yang kosong, misalnya port 8080.

Selanjutnya, Anda perlu mengubah konfigurasi untuk membuat koneksi ke nomor port yang benar menggunakan perintah listen.

Perintah ini digunakan untuk mengatur Apache HTTPd agar hanya memantau alamat IP atau port tertentu. Apabila perintah ini tidak ada dalam file config, server Anda tidak akan bisa berjalan.

Berikut langkah-langkah untuk mengubah port Apache di XAMPP:

  1. Buka XAMPP di perangkat Anda.
  2. Program ini akan terbuka, menampilkan daftar semua layanan yang sedang berjalan.
  3. Klik tombol Stop di sebelah Apache.
jendela xampp dengan tombol stop di samping apache yang dipilih
  1. Buka file explorer, lalu cari file httpd.conf di folder config. Di Windows, file ini berada di direktori C:\xampp\apache\conf. Untuk Linux, lokasinya adalah bin/apache. Di Mac, file ini ada di Applications/XAMPP/xamppfiles/etc/httpd.conf.
  2. Buka file tersebut menggunakan Notepad atau editor teks lainnya, lalu cari baris berikut:
Listen 80
ServerName localhost:80
  1. Kalau port 80 masih kosong, pastikan nomor port pada perintah listen sesuai dengan nomor port yang digunakan oleh localhost. Apabila ada aplikasi lain yang menggunakan port 80, ganti dengan nomor port lain yang tersedia. Misalnya, kita akan mengubahnya ke 8080.
Listen 8080
ServerName localhost:8080
  1. simpan file tersebut. Anda mungkin akan diminta untuk memberikan hak administratif, pilih Yes.
  2. Kembali ke control panel XAMPP, klik Start untuk memulai Apache lagi.
  3.  Akses http://localhost:8080 atau https://127.0.0.1:8080/ untuk memeriksa apakah localhost berfungsi dengan benar.

Apabila menggunakan WAMP (untuk sistem operasi Windows), ikuti langkah-langkah berikut untuk mengubah port yang digunakan:

  1. Klik kanan taskbar, lalu pilih Task Manager.
  2. Pilih End Task untuk semua instance WAMP yang masih berjalan.
  3. Buka file explorer, lalu buka folder konfigurasi di C:\wamp\apache2\conf.
  4. Cari file httpd.conf, buka dengan editor teks seperti Notepad.
  5. Cari baris berikut ini dalam file tersebut:
Listen 80
ServerName localhost:80
  1. Apabila port 80 tidak dipakai, pastikan nomor port pada perintah listen sama dengan nomor port untuk localhost. Apabila port sudah digunakan oleh aplikasi lain, ganti nomornya dengan port yang tersedia.
Listen 8080
ServerName localhost:8080
  1. Simpan file, lalu buka kembali WAMP untuk memeriksa apakah masalah sudah teratasi.

3. Hapus cache DNS

Cache DNS menyimpan data dari website yang pernah Anda kunjungi sehingga halaman-halaman tersebut akan dimuat lebih cepat saat Anda mengaksesnya lagi.

Namun, kalau cache DNS terlalu penuh dengan data lama, hal ini bisa menyebabkan DNS tidak berfungsi dengan baik.

Untuk mengatasinya, Anda bisa melakukan flush DNS untuk menghapus cache tersebut.

  1. Buka Command Prompt dengan mengetikkan cmd di kolom pencarian pada menu Start.
  2. Masukkan perintah berikut:
ipconfig /flushdns
  1. Cek apakah error “127.0 0.1 refused to connect” sudah berhasil teratasi.

4. Nonaktifkan firewall untuk sementara

Firewall adalah sistem keamanan yang memantau dan memfilter traffic data Anda, serta memblokir potensi ancaman. Meskipun penting, terkadang protokol deteksinya bisa keliru.

Firewall mungkin memblokir halaman web yang aman atau koneksi yang sah secara tidak sengaja. Jadi, kalau Anda sedang mengembangkan website dan perlu mengakses versi lokalnya, coba nonaktifkan firewall dulu untuk sementara. Dengan begitu, website uji coba Anda tidak akan diblokir.

Pastikan untuk mengaktifkannya kembali setelah website Anda online dan masalah “localhost refused to connect” tidak lagi muncul.

Berikut langkah-langkah untuk menonaktifkan firewall di Mac, Windows, dan Linux.

Cara menonaktifkan firewall di Mac

  1. Buka System SettingsNetwork.
  2. Pilih opsi Firewall untuk membuka pengaturan firewall.
  3. Klik tombol alih di samping Firewall untuk menonaktifkannya.
pengaturan macos menampilkan opsi firewall
  1. Tergantung pada pengaturan yang diterapkan, Anda mungkin diminta memasukkan kata sandi Anda. Klik Unlock setelah memasukkan kata sandi.
  2. Firewall Anda kini sudah aktif.

Perlu diperhatikan bahwa langkah-langkah ini mungkin sedikit berbeda tergantung pada versi macOS yang Anda gunakan.

Cara menonaktifkan firewall di Windows

Ada dua cara untuk menonaktifkan firewall di Windows, yaitu melalui menu Windows Security/Control Panel atau Command Prompt.

Berikut langkah-langkahnya menggunakan menu Windows:

  1. Buka Windows Security, kemudian pilih Firewall & network protection.
  2. Anda akan melihat jaringan yang tersambung. Pilih jaringan untuk menonaktifkan firewall.
pengaturan firewall windows menampilkan jaringan yang tersambung
  1. Pada Microsoft Defender Firewall, alihkan tombol ke nonaktif.

Apabila opsi ini tidak bisa diklik, firewall Anda mungkin dikontrol oleh program keamanan lain. Jadi, Anda mungkin perlu menonaktifkan aplikasi tersebut dulu.

Sementara itu, berikut langkah-langkah mematikan firewall melalui command prompt:

  1. Buka Command Prompt sebagai Administrator.
  2. Masukkan perintah berikut:
netsh advfirewall set allprofiles state off

Cara menonaktifkan firewall di Linux

Langkah untuk menonaktifkan firewall di Linux tergantung pada distribusi yang Anda gunakan.

Apabila menggunakan Ubuntu atau Debian, firewall Anda seharusnya dikelola oleh ufw. Kalau menggunakan CentOS atau RHEL, tool manajemen firewall defaultnya adalah firewalld.

Pastikan untuk menghentikan firewall terlebih dahulu sebelum menonaktifkannya. Kalau tidak, Anda bisa mengalami error selama prosesnya.

Untuk menonaktifkan firewall di ufw, ikuti langkah-langkah berikut:

  1. Hentikan ufw menggunakan perintah berikut:
sudo ufw disable
  1. Setelah firewall dihentikan, jalankan perintah berikut untuk menonaktifkan layanan ufw saat booting:
sudo systemctl disable ufw
  1. Verifikasikan bahwa ufw telah dimatikan, dengan memasukkan perintah berikut:
sudo ufw status
sudo systemctl status ufw
  1. Aktifkan kembali ufw.
sudo systemctl enable ufw
sudo ufw enable
## verify that ufw started ##
sudo ufw status

Kemudian, berikut adalah langkah-langkah menghentikan dan menonaktifkan firewall pada firewalld:

  1. Hentikan firewalld menggunakan perintah berikut:
sudo systemctl stop firewalld
  1. Masukkan perintah di bawah ini untuk menonaktifkan firewalld pada saat boot:
sudo systemctl disable firewalld
sudo systemctl mask --now firewalld
  1. Pastikan firewalld telah dinonaktifkan dengan menggunakan perintah berikut ini:
sudo systemctl status firewalld
  1. Jalankan perintah di bawah ini untuk mengaktifkan kembali firewalld:
sudo systemctl unmask --now firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
## verify that the firewalld started ##
sudo firewall-cmd --state

5. Periksa pengaturan browser

Pengaturan browser juga bisa menyebabkan error “localhost refused to connect”, karena setiap browser memiliki pengaturan dan karakteristik yang berbeda.

Misalnya, beberapa browser akan secara otomatis mengarahkan Anda ke versi HTTPS saat memasukkan alamat HTTP. Namun, kalau website tersebut tidak memiliki sertifikat SSL yang valid, Anda akan menjumpai error “localhost refused to connect”.

Apabila menggunakan Chrome, ikuti langkah-langkah berikut:

  1. Masukkan chrome://net-internals/#hsts di kolom alamat browser.
pengaturan chrome menampilkan konfigurasi hsts
  1. Cari opsi Delete domain security policies, lalu ketik localhost.
pengaturan domain security policies di chrome
  1. Mulai ulang browser Anda.

Perbedaan antara “ERR_CONNECTION_REFUSED” dan “ERR_CONNECTION_TIMEOUT”

Saat mencoba mengakses localhost, Anda mungkin menemui dua jenis error yang sering muncul: ERR_CONNECTION_REFUSED dan ERR_CONNECTION_TIMEOUT. Meskipun sangat mirip dan saling berkaitan, keduanya memiliki penyebab dan solusi yang berbeda.

ERR_CONNECTION_REFUSED menunjukkan bahwa server menolak upaya untuk membuat koneksi, sementara ERR_CONNECTION_TIMEOUT menunjukkan bahwa tidak ada respons sama sekali dari server, sementara klien masih menunggu.

Oleh karena itu, untuk mengatasi ERR_CONNECTION_REFUSED, periksa dulu firewall Anda karena sistem ini bisa saja memblokir paket data yang masuk. Selain itu, pastikan konfigurasi perintah listen di file httpd.conf sudah diatur dengan benar.

Sedangkan untuk mengatasi ERR_CONNECTION_TIMEOUT, periksa pengaturan koneksi Anda karena error ini biasanya muncul ketika layanan tidak berjalan sebagaimana mestinya atau tidak terinstal dengan benar.

Kesimpulan

Error “localhost refused to connect” adalah masalah koneksi jaringan yang mungkin muncul saat Anda menangani tugas yang berkaitan dengan web server lokal.

Masalah ini biasanya terjadi ketika firewall memblokir server atau ketika Anda menggunakan port yang salah. Selain itu, error ini juga bisa muncul kalau web server Apache atau web browser tidak dikonfigurasi dengan benar.

Berikut langkah-langkah untuk mengatasi error “localhost refused to connect”:

  • Nonaktifkan firewall untuk sementara. Matikan firewall agar tidak memblokir akses ke localhost Anda.
  • Lakukan flush DNS. Hapus cache DNS untuk menghindari masalah dengan data yang sudah kedaluwarsa.
  • Buat sambungan dengan port yang ditentukan. Periksa apakah port yang digunakan oleh web server Apache sesuai dengan pengaturan.
  • Pastikan Apache berjalan. Pastikan web server Apache sudah terinstal dengan benar dan aktif.
  • Sesuaikan pengaturan browser. Periksa pengaturan koneksi pada browser Anda, terutama kalau tidak ada sertifikat SSL pada website lokal yang sedang diuji.

Semoga artikel ini bisa membantu Anda mengatasi error “localhost refused to connect” ya. Kalau masih ada pertanyaan, sampaikan lewat kolom komentar yuk!

Tanya jawab (FAQ) “Localhost refused to connect”

Apakah ada cara lain agar tidak menggunakan localhost?

Alternatif untuk menggunakan localhost dalam pengembangan lokal adalah dengan menggunakan alamat IP komputer Anda sebagai host. Anda bisa menemukan alamat IP ini di System Preferences atau dengan mengetikkan ipconfig di Command Prompt (untuk Windows), atau ifconfig di Terminal (untuk Mac atau Linux).

Apa yang dimaksud alamat IP localhost?

Alamat IP localhost merujuk pada komputer yang Anda gunakan. Alamat ini adalah alamat IP dari antarmuka jaringan loopback, yang biasanya diberi alamat 127.0.0.1. Alamat ini digunakan untuk mengakses layanan jaringan pada komputer yang sama tanpa terhubung ke jaringan eksternal.

Author
Penulis

Faradilla Ayunindya

Faradilla, yang lebih akrab disapa Ninda, sudah berpengalaman selama 10 tahun sebagai linguist dan 5 tahun sebagai Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca mengatasi masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.