DNS RobotDNS Propagation Checker
HomeDNS LookupWHOIS LookupIP LookupSSL Check
DNS RobotDNS Propagation Checker

Next-generation DNS propagation toolkit

Privacy PolicyTerms of ServiceAbout UsBlogContact

DNS Tools

DNS LookupDNS Speed TestDomain to IPNS LookupMX LookupView all

Email Tools

SPF Record CheckerDMARC CheckerDKIM CheckerSMTP Test ToolEmail Header AnalyzerView all

Website Tools

WHOIS LookupHosting CheckerDomain AvailabilitySubdomain FinderCMS DetectorView all

Network Tools

Ping ToolTraceroutePort CheckerHTTP Headers CheckSSL Certificate CheckView all

IP Tools

IP LookupWhat Is My IPIP Blacklist CheckIP to HostnameASN LookupView all

Utility Tools

QR Code ScannerQR Code GeneratorUPI QR Code GeneratorWiFi QR Code GeneratorMorse Code TranslatorView all
© 2026 DNS Robot. Developed by ❤ Shaik Brothers
All systems operational
Made with
Home/Blog/ERR_EMPTY_RESPONSE: What It Means & How to Fix It

ERR_EMPTY_RESPONSE: What It Means & How to Fix It

Shaik VahidSep 30, 20269 min read
Chrome error This page isn't working, example.com didn't send any data, ERR_EMPTY_RESPONSE, with fixes
Chrome error This page isn't working, example.com didn't send any data, ERR_EMPTY_RESPONSE, with fixes

Key Takeaway

ERR_EMPTY_RESPONSE (Chromium error -324) means your browser connected to the server and sent its request, and the server closed the connection without sending a single byte back. Chrome shows "This page isn't working. example.com didn't send any data." For visitors, reload, try Incognito, and turn off VPN, proxy and antivirus HTTPS scanning. For developers on localhost or Docker, the app usually isn't listening where you think it is (bind to 0.0.0.0 in containers) or you used http:// on an HTTPS-only port. For site owners, look for crashes, timeouts and rules that drop connections, such as nginx return 444.

Advertisement

What Is ERR_EMPTY_RESPONSE?

ERR_EMPTY_RESPONSE is the Chrome and Edge error page that reads "This page isn't working. example.com didn't send any data." In Chromium it is net error -324, defined as: "The server closed the connection without sending any data."

The browser got further than with most connection errors. The address resolved, the connection opened, and the browser sent its request. Then the server, or something in front of it, closed the connection with an empty reply: no status code, no headers, no page. Chromium's code only uses this error for a fresh connection that closes with zero bytes. When an old, reused connection closes, Chrome quietly retries instead.

Because a request was actually delivered, ERR_EMPTY_RESPONSE usually points at the server side: an app that crashed while handling the request, a rule that deliberately drops connections, or a service that accepted the connection but had nothing behind it. A few causes on your own computer can produce it too.

Note

Command-line tools describe the same failure differently: curl reports Empty reply from server (curl error 52), and other HTTP libraries may say "socket hang up" or "connection closed without response". If you see one of those while testing, you're looking at the same problem.

What Causes ERR_EMPTY_RESPONSE?

CauseWhereClue
App crashed or was killed while handling the requestServerFails for everyone, often on one heavy page
A rule that drops connections (nginx return 444, WAF, anti-bot)ServerFails for some visitors, IPs or user agents only
A port forward with nothing listening behind it (Docker, load balancer)Server / developerPort is open but every request returns empty
http:// sent to a port that only speaks HTTPSDeveloperWorks with https://, fails with http://
VPN, proxy or antivirus HTTPS scanningYour deviceFails only on your device or network
Request or headers too large for the serverServerFails after login or with many cookies

Advertisement

Fix 1: Reload and Try Incognito

If the server restarted at the wrong moment, a reload a few seconds later is all you need. If the error repeats, open the page in an Incognito window (Ctrl + Shift + N, Mac Cmd + Shift + N). Incognito starts with no cookies and no extensions, so it quickly tells you whether something stored in your browser is involved.

Then check whether the site is down for everyone. DNS Robot's HTTP Headers tool requests the page from our servers: if we get a normal response, the problem is between you and the site. If we also get nothing, the site itself is failing.

Fix 2: Turn Off VPN, Proxy and HTTPS Scanning

Anything that sits in the middle of your connections can accept the request and then close it without passing the reply back:

  • VPN: disconnect it completely and reload.

  • Proxy: on Windows 11, Settings → Network & internet → Proxy → turn Use a proxy server off. On a Mac, System Settings → Network → your connection → Details… → Proxies.

  • Antivirus HTTPS scanning: turn off only the web or HTTPS-scanning feature (often called HTTPS scanning, Web Shield or SSL/TLS protocol filtering) and reload. If that fixes it, add an exclusion for the site and turn scanning back on.

Warning

Turn security software back on after testing. If HTTPS scanning was the cause, exclude the single site or update the product rather than leaving protection off.

Advertisement

Fix 3: Clear the Site's Data and Disable Extensions

Very large or corrupted cookies can make a server drop the request instead of answering, which often shows up as an error only after you log in. Clear that site's cookies: click the icon at the left of the address bar → Cookies and site data (or Site settings) → delete the data, then sign in again.

Next, disable all extensions at chrome://extensions and reload. Re-enable them one at a time to find the one that interferes, which is often an ad blocker, a privacy tool or anything that edits requests.

Tip

If the error appears only after you sign in, cookies are the prime suspect. Clearing the site's data signs you out, so have your password or password manager ready first.

Fix 4: Flush DNS and Reset the Network Stack

If every site gives empty responses on one computer, reset its network configuration. In an administrator Command Prompt on Windows, run the commands below and restart. On a Mac, flush the DNS cache and remove and re-add the Wi-Fi network.

powershell
ipconfig /flushdns
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew

Also try another network, such as your phone's mobile data. If the site works there, a filter on your usual network (school, work or ISP) may be cutting the connection.

Advertisement

ERR_EMPTY_RESPONSE on Localhost and Docker

Developers see this error most often on their own machine. The usual causes:

  • The app in a Docker container listens on 127.0.0.1. Inside a container, 127.0.0.1 means "only this container", so Docker's port forward has nothing to connect to and your browser gets an empty reply (or, depending on the setup, a connection reset). Make the app listen on 0.0.0.0 inside the container, for example next dev -H 0.0.0.0, vite --host 0.0.0.0, flask run --host=0.0.0.0 or uvicorn main:app --host 0.0.0.0.

  • The container port mapping doesn't match. -p 8080:3000 forwards your port 8080 to port 3000 inside the container. If the app actually listens on 5000, every request comes back empty.

  • http:// on an HTTPS-only port. Some servers expect TLS on a port and simply hang up when plain HTTP arrives. Try https://localhost:8443 instead of http://.

  • The dev server crashed while handling the request. Check the terminal it runs in. An exception or out-of-memory error at that moment is your answer.

bash
# Reproduce without the browser
curl -v http://localhost:8080/
# "Empty reply from server" = connection accepted, nothing sent back

# Which ports does the container publish, and what listens inside it?
docker ps --format "table {{.Names}}\t{{.Ports}}"
docker exec -it <container> sh -c "netstat -tlnp 2>/dev/null || ss -tlnp"

Tip

Inside the container, a listener on 127.0.0.1:3000 causes the empty reply; 0.0.0.0:3000 (or :::3000) is what Docker's port forwarding needs.

For Website Owners: Why Your Server Sends Empty Replies

  • Crashes and out-of-memory kills. If the process handling the request dies, the connection closes with nothing sent. Check the app logs and dmesg -T | grep -i "killed process" for the Linux out-of-memory killer, especially on heavy pages and uploads.

  • Deliberate drops. nginx's special return 444; closes the connection without any response, and it's often used to block bad bots or unknown hostnames. If a rule like that matches real visitors (an over-broad user-agent or GeoIP rule), they see ERR_EMPTY_RESPONSE, or ERR_HTTP2_PROTOCOL_ERROR on HTTP/2 connections, where nginx resets the stream instead. WAFs, rate limiters and anti-bot services can do the same.

  • Port forwards and load balancers with no backend. A listener that accepts the connection but has no healthy server behind it can close it empty. Check target health and that the backend port matches.

  • Timeouts that close instead of answering. Make long-running requests return a proper error (such as 504) instead of silently closing the socket, so visitors and monitoring see what happened.

  • Oversized requests. Very large headers or cookies can make some servers drop the request. Keep cookies small.

bash
# Any rules that drop connections?
sudo grep -rn "return 444" /etc/nginx/

# Test from outside, the way visitors connect
curl -sv https://yourdomain.com/ -o /dev/null

Note

Behind nginx or a CDN, an upstream app that crashes usually turns into a 502 Bad Gateway rather than an empty response, because the proxy still answers. ERR_EMPTY_RESPONSE means the server the browser connected to sent nothing at all, so look at the outermost layer first.

Advertisement

ERR_EMPTY_RESPONSE vs Similar Errors

ErrorCodeWhat happened
ERR_EMPTY_RESPONSE-324Request sent, connection closed with zero bytes back
ERR_CONNECTION_CLOSED-100Closed before a request could be sent, usually during the HTTPS handshake
ERR_CONNECTION_RESET-101Connection cut abruptly with a TCP reset
502 Bad GatewayHTTPA proxy answered, but its upstream app failed

Related guides: ERR_CONNECTION_CLOSED, ERR_CONNECTION_RESET, 502 Bad Gateway and 500 Internal Server Error. To check whether a server's port accepts connections from outside, use the Port Checker.

Does the server answer from outside your network?

DNS Robot's Port Checker tests whether a domain's port 443 or 80 accepts connections from our servers. Pair it with the HTTP Headers checker to see whether the server sends a real response.

Try Port Checker

Advertisement

Frequently Asked Questions

It means the browser connected to the server and sent its request, and the server closed the connection without sending any data back: no status code, no headers, no page. In Chromium it is net error -324, shown as "This page isn't working. example.com didn't send any data."

Related Tools

Port CheckerHTTP Headers CheckPing Tool

Related Articles

ERR_CONNECTION_RESET: What It Means & How to Fix ItERR_CONNECTION_CLOSED: What It Means & How to Fix ItHTTP Error 500 Internal Server Error: Causes & How to Fix

Table of Contents

  • What Is ERR_EMPTY_RESPONSE?
  • What Causes ERR_EMPTY_RESPONSE?
  • Fix 1: Reload and Try Incognito
  • Fix 2: Turn Off VPN, Proxy and HTTPS Scanning
  • Fix 3: Clear the Site's Data and Disable Extensions
  • Fix 4: Flush DNS and Reset the Network Stack
  • ERR_EMPTY_RESPONSE on Localhost and Docker
  • For Website Owners: Why Your Server Sends Empty Replies
  • ERR_EMPTY_RESPONSE vs Similar Errors
  • Frequently Asked Questions