ERR_EMPTY_RESPONSE: Arti dan Cara Mengatasinya

Advertisement
Apa Itu ERR_EMPTY_RESPONSE?
ERR_EMPTY_RESPONSE adalah halaman error Chrome dan Edge yang bertuliskan "Halaman ini tidak berfungsi. example.com tidak mengirim data apa pun." (This page isn't working. example.com didn't send any data.) Di Chromium, ini adalah net error -324, yang didefinisikan sebagai: "The server closed the connection without sending any data" (server menutup koneksi tanpa mengirim data apa pun).
Browser sudah melangkah lebih jauh dibandingkan pada kebanyakan error koneksi. Alamatnya berhasil di-resolve, koneksi terbuka, dan browser mengirim permintaannya. Lalu server, atau sesuatu di depannya, menutup koneksi dengan balasan kosong: tanpa kode status, tanpa header, tanpa halaman. Kode Chromium hanya memakai error ini untuk koneksi baru yang tertutup dengan nol byte. Jika koneksi lama yang dipakai ulang tertutup, Chrome diam-diam mencoba lagi.
Karena permintaan benar-benar terkirim, ERR_EMPTY_RESPONSE biasanya menunjuk ke sisi server: aplikasi yang crash saat menangani permintaan, aturan yang sengaja memutus koneksi, atau layanan yang menerima koneksi tetapi tidak punya apa pun di belakangnya. Beberapa penyebab di komputer Anda sendiri juga bisa memicunya.
Apa Penyebab ERR_EMPTY_RESPONSE?
| Penyebab | Lokasi | Petunjuk |
|---|---|---|
| Aplikasi crash atau dimatikan saat menangani permintaan | Server | Gagal bagi semua orang, sering di satu halaman yang berat |
| Aturan yang memutus koneksi (nginx return 444, WAF, anti-bot) | Server | Gagal hanya bagi sebagian pengunjung, IP, atau user agent |
| Port forward tanpa apa pun yang mendengarkan di belakangnya (Docker, load balancer) | Server / developer | Port terbuka tetapi setiap permintaan kembali kosong |
| http:// dikirim ke port yang hanya melayani HTTPS | Developer | Berhasil dengan https://, gagal dengan http:// |
| VPN, proxy, atau pemindaian HTTPS antivirus | Perangkat Anda | Gagal hanya di perangkat atau jaringan Anda |
| Permintaan atau header terlalu besar untuk server | Server | Gagal setelah login atau saat cookie terlalu banyak |
Advertisement
Solusi 1: Muat Ulang dan Coba Incognito
Jika server kebetulan restart di saat yang salah, memuat ulang beberapa detik kemudian sudah cukup. Jika error berulang, buka halaman di jendela Incognito (Ctrl + Shift + N, Mac Cmd + Shift + N). Incognito dimulai tanpa cookie dan tanpa ekstensi, sehingga cepat memberi tahu apakah ada data tersimpan di browser Anda yang ikut berperan.
Lalu periksa apakah situsnya down untuk semua orang. Alat HTTP Headers dari DNS Robot meminta halaman dari server kami: jika kami mendapat respons normal, masalahnya ada di antara Anda dan situs. Jika kami juga tidak mendapat apa pun, situsnya sendiri yang gagal.
Solusi 2: Matikan VPN, Proxy, dan Pemindaian HTTPS
Apa pun yang berada di tengah koneksi Anda bisa menerima permintaan lalu menutupnya tanpa meneruskan balasannya:
VPN: putuskan sepenuhnya lalu muat ulang.
Proxy: di Windows 11, Pengaturan → Jaringan & internet → Proksi → matikan Gunakan server proksi. Di Mac, Pengaturan Sistem → Jaringan → koneksi Anda → Detail… → Proksi.
Pemindaian HTTPS antivirus: matikan hanya fitur pemindaian web atau HTTPS (sering bernama HTTPS scanning, Web Shield, atau SSL/TLS protocol filtering) lalu muat ulang. Jika itu mengatasinya, tambahkan pengecualian untuk situs tersebut dan aktifkan kembali pemindaiannya.
Advertisement
Solusi 3: Hapus Data Situs dan Nonaktifkan Ekstensi
Cookie yang sangat besar atau rusak bisa membuat server memutus permintaan alih-alih menjawabnya, dan error ini sering baru muncul setelah Anda login. Hapus cookie situs itu: klik ikon di sebelah kiri address bar → Cookie dan data situs (atau Setelan situs) → hapus datanya, lalu login kembali.
Selanjutnya, nonaktifkan semua ekstensi di chrome://extensions lalu muat ulang. Aktifkan kembali satu per satu untuk menemukan yang mengganggu, yang sering kali berupa pemblokir iklan, alat privasi, atau apa pun yang mengedit permintaan.
Solusi 4: Flush DNS dan Reset Tumpukan Jaringan
Jika semua situs memberikan respons kosong di satu komputer, reset konfigurasi jaringannya. Di Windows, jalankan perintah di bawah pada Command Prompt administrator, lalu restart. Di Mac, flush cache DNS lalu hapus dan tambahkan kembali jaringan Wi-Fi-nya.
ipconfig /flushdns
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renewCoba juga jaringan lain, misalnya data seluler ponsel Anda. Jika situs terbuka di sana, filter di jaringan yang biasa Anda pakai (sekolah, kantor, atau ISP) mungkin yang memutus koneksi.
Advertisement
ERR_EMPTY_RESPONSE di Localhost dan Docker
Developer paling sering melihat error ini di mesinnya sendiri. Penyebab umumnya:
Aplikasi di container Docker mendengarkan di 127.0.0.1. Di dalam container,
127.0.0.1berarti "hanya container ini", sehingga port forward Docker tidak punya tujuan untuk disambungkan dan browser Anda mendapat balasan kosong (atau, tergantung konfigurasinya, connection reset). Buat aplikasi mendengarkan di0.0.0.0di dalam container, misalnyanext dev -H 0.0.0.0,vite --host 0.0.0.0,flask run --host=0.0.0.0, atauuvicorn main:app --host 0.0.0.0.Pemetaan port container tidak cocok.
-p 8080:3000meneruskan port 8080 Anda ke port 3000 di dalam container. Jika aplikasinya ternyata mendengarkan di port 5000, setiap permintaan akan kembali kosong.http:// di port khusus HTTPS. Sebagian server mengharapkan TLS di sebuah port dan langsung memutus koneksi saat HTTP biasa datang. Coba
https://localhost:8443alih-alihhttp://.Dev server crash saat menangani permintaan. Periksa terminal tempat server itu berjalan. Exception atau error kehabisan memori pada saat itu adalah jawabannya.
# Reproduksi tanpa browser
curl -v http://localhost:8080/
# "Empty reply from server" = koneksi diterima, tidak ada yang dikirim balik
# Port apa yang dipublikasikan container, dan apa yang mendengarkan di dalamnya?
docker ps --format "table {{.Names}}\t{{.Ports}}"
docker exec -it <container> sh -c "netstat -tlnp 2>/dev/null || ss -tlnp"Untuk Pemilik Situs: Kenapa Server Anda Mengirim Balasan Kosong
Crash dan proses yang dimatikan karena kehabisan memori. Jika proses yang menangani permintaan mati, koneksi tertutup tanpa ada yang terkirim. Periksa log aplikasi dan
dmesg -T | grep -i "killed process"untuk melihat ulah out-of-memory killer Linux, terutama di halaman berat dan saat unggahan.Pemutusan yang disengaja. Perintah khusus nginx
return 444;menutup koneksi tanpa respons apa pun, dan sering dipakai untuk memblokir bot jahat atau hostname yang tidak dikenal. Jika aturan seperti itu mengenai pengunjung asli (aturan user agent atau GeoIP yang terlalu luas), mereka akan melihat ERR_EMPTY_RESPONSE, atau ERR_HTTP2_PROTOCOL_ERROR di koneksi HTTP/2, karena di sana nginx me-reset stream-nya. WAF, rate limiter, dan layanan anti-bot bisa melakukan hal yang sama.Port forward dan load balancer tanpa backend. Listener yang menerima koneksi tetapi tidak punya server sehat di belakangnya bisa menutupnya dalam keadaan kosong. Periksa kesehatan target dan pastikan port backend-nya cocok.
Timeout yang menutup koneksi alih-alih menjawab. Buat permintaan yang berjalan lama mengembalikan error yang semestinya (misalnya 504) alih-alih diam-diam menutup socket, agar pengunjung dan sistem monitoring tahu apa yang terjadi.
Permintaan yang terlalu besar. Header atau cookie yang sangat besar bisa membuat sebagian server memutus permintaan. Jaga ukuran cookie tetap kecil.
# Ada aturan yang memutus koneksi?
sudo grep -rn "return 444" /etc/nginx/
# Uji dari luar, seperti cara pengunjung tersambung
curl -sv https://yourdomain.com/ -o /dev/nullAdvertisement
ERR_EMPTY_RESPONSE vs Error Serupa
| Error | Kode | Yang terjadi |
|---|---|---|
| ERR_EMPTY_RESPONSE | -324 | Permintaan terkirim, koneksi ditutup dengan nol byte balasan |
| ERR_CONNECTION_CLOSED | -100 | Ditutup sebelum permintaan sempat dikirim, biasanya saat handshake HTTPS |
| ERR_CONNECTION_RESET | -101 | Koneksi diputus mendadak dengan TCP reset |
| 502 Bad Gateway | HTTP | Proxy menjawab, tetapi aplikasi upstream-nya gagal |
Panduan terkait: ERR_CONNECTION_CLOSED, ERR_CONNECTION_RESET, 502 Bad Gateway, dan 500 Internal Server Error. Untuk memeriksa apakah port sebuah server menerima koneksi dari luar, gunakan Port Checker.
Apakah server menjawab dari luar jaringan Anda?
Port Checker dari DNS Robot menguji apakah port 443 atau 80 sebuah domain menerima koneksi dari server kami. Padukan dengan HTTP Headers Checker untuk melihat apakah server mengirim respons yang sebenarnya.
Coba Port CheckerAdvertisement
Pertanyaan yang Sering Diajukan
Artinya browser sudah tersambung ke server dan mengirim permintaannya, lalu server menutup koneksi tanpa mengirim balik data apa pun: tanpa kode status, tanpa header, tanpa halaman. Di Chromium, ini adalah net error -324, yang tampil sebagai "Halaman ini tidak berfungsi. example.com tidak mengirim data apa pun."