ERR_EMPTY_RESPONSE means the browser connected to the website, but the server returned no data before the connection closed. In simple terms, the site answered with nothing.
This error is common in Chrome and other Chromium-based browsers. It can come from your browser, your network, antivirus or proxy software, a broken website server, a reverse proxy, or a backend app that crashes before sending a response.
Quick Fix
- Reload the page once, then stop refreshing repeatedly.
- Check whether the problem affects one site or many.
- Open the site in a private or incognito window.
- Disable VPN, proxy, antivirus web filtering, and browser extensions temporarily.
- Clear browser cache and cookies.
- Restart the browser, device, and router.
- Flush DNS cache and test another DNS provider.
- If you own the site, check web server, PHP, app, and proxy logs.
- Test the site from another network or mobile data.
- Check whether the origin server is crashing or returning an empty response upstream.
What Is ERR_EMPTY_RESPONSE?
ERR_EMPTY_RESPONSE is a browser error that appears when the request reaches the server path, but the browser receives no usable response body or headers before the connection ends.
This is different from other common browser errors:
- ERR_CONNECTION_REFUSED usually means the target did not accept the connection at all.
- ERR_CONNECTION_TIMED_OUT usually means the request waited too long for an answer.
- ERR_CONNECTION_RESET usually means the connection was cut off during transfer.
- ERR_EMPTY_RESPONSE usually means the browser got no response content at all.
You may see it in situations like these:
- the site opens as a blank error page,
- only one website fails,
- the error appears after login or form submission,
- the admin area works but the public site fails,
- a reverse proxy reaches the backend but the backend sends nothing back.
The browser message usually looks like this:
This page isn’t working
The site didn’t send any data
ERR_EMPTY_RESPONSE
The wording is broad, but the underlying meaning is simple: the request path completed badly, and the browser ended up with an empty reply.
Why ERR_EMPTY_RESPONSE Happens
Most real cases come from a short list of causes.
1. The Website Server Crashed Before Sending a Response
This is one of the most common causes.
The browser connects successfully, but the app, PHP worker, or backend process fails before it can send headers or page content.
Common examples:
- PHP fatal errors,
- application crashes,
- memory exhaustion,
- container restarts,
- backend worker failures.
2. A Reverse Proxy or Load Balancer Got Nothing from the Backend
On many modern sites, the browser does not talk directly to the app. It talks to a reverse proxy, CDN, or load balancer first.
If that middle layer reaches the backend and the backend responds with nothing, the browser may show ERR_EMPTY_RESPONSE.
This is common with:
- NGINX in front of PHP or Node,
- Apache proxying to an app server,
- Docker-based stacks,
- load balancers in front of internal services.
3. Antivirus, VPN, or Proxy Software Is Interfering
Sometimes the website is fine and the problem is local.
Common local causes include:
- antivirus web shield,
- HTTPS inspection,
- VPN routing problems,
- manual proxy settings,
- browser extensions that modify traffic.
If the issue affects several websites or only one browser profile, this becomes much more likely.
4. Browser Cache or Site Data Is Corrupted
This is a common reason when one website fails in one browser, but works in private browsing or on another device.
Typical cases include:
- stale cookies,
- bad cached redirects,
- broken session state,
- old site data after a migration or login change.
5. The Network Is Unstable
A weak network can fail in messy ways. Instead of timing out cleanly, the request may end up with no usable data returned to the browser.
This is more likely on:
- public Wi-Fi,
- hotel Wi-Fi,
- mobile hotspots,
- old home routers,
- crowded office networks.
6. DNS or Hosts File Settings Point to the Wrong Server
DNS usually causes name-resolution errors first, but not always. A domain can resolve to a real host that is not serving the expected website correctly.
That can happen after:
- DNS changes,
- migration to a new server,
- staging setup mistakes,
- local hosts file edits,
- wrong IPv6 or old A record routing.
7. A Firewall or Security Layer Blocks the Response Path
The request may reach the site, but a firewall, WAF, or filtering tool can still break the response path before the browser gets usable data.
This is more likely when:
- security rules were recently tightened,
- the site sits behind multiple protection layers,
- the problem appears after enabling a security product,
- one route or page fails while others work.
8. The Website Sends Bad Headers and Then Drops the Connection
Some sites do not return a clean HTTP error. They start a response badly, send nothing useful, or terminate the request before the browser gets a valid page.
This can happen because of:
- broken PHP output,
- bad upstream response handling,
- header misconfiguration,
- plugin conflicts on CMS-based sites,
- custom server rules gone wrong.
9. The Error Happens Only on One Route or Action
Some sites show ERR_EMPTY_RESPONSE only on:
- login pages,
- checkout pages,
- admin panels,
- file uploads,
- form submissions.
That usually means the core site is alive, but one backend action is crashing or returning nothing.
How to Fix ERR_EMPTY_RESPONSE Step by Step
Start by figuring out whether the issue is local, network-specific, or site-specific.
1. Check Whether It Happens on One Site or Many
This is the best first test.
- If only one site fails, the website or its backend is the stronger suspect.
- If many sites fail, look at your browser, VPN, proxy, antivirus, or network first.
- If one device fails but another works on the same network, the problem is probably local to that device.
2. Open the Site in a Private or Incognito Window
This is one of the fastest real checks.
- If the site works there, the likely cause is cache, cookies, or an extension.
- If it still fails there, continue with network and server checks.
3. Disable VPN, Proxy, Antivirus Web Protection, and Extensions
Turn off anything that sits between the browser and the site.
Temporarily disable:
- VPN apps,
- manual proxy settings,
- web shield or HTTPS scanning,
- browser security extensions,
- request-modifying extensions.
Then test again.
If the site starts working, one of those layers was likely breaking the response path.
4. Clear Browser Cache and Cookies
If the issue affects one site in one browser, clear site data first.
- clear the browser cache,
- remove cookies for the affected site,
- restart the browser fully.
This often fixes problems after domain moves, login changes, HTTPS changes, or broken cached redirects.
5. Restart the Browser, Device, and Router
Do the basic reset path before digging deeper.
- Close the browser completely.
- Restart the device.
- Restart the router if the network has been unstable.
- Test the site again.
This clears a lot of temporary browser and networking state.
6. Flush DNS and Try Another DNS Provider
If the domain may be resolving incorrectly or using stale network data, flush local DNS and test again.
You can also try another DNS provider temporarily.
This matters most if:
- the site moved recently,
- DNS records were changed,
- one network fails while another works.
7. Check the Hosts File
If the error started after local testing or staging work, inspect the hosts file on the affected device.
A wrong entry can point the browser to:
- an old local environment,
- a dead staging server,
- the wrong IP,
- localhost by mistake.
That can easily cause the browser to receive no usable response.
8. Test Another Network
Try the same site on:
- mobile data,
- a different Wi-Fi network,
- another device,
- a home network instead of office Wi-Fi.
If the site works elsewhere, your original router, ISP path, or filtered network is the likely cause.
9. If You Own the Site, Check Server and Application Logs
If this is your website, logs matter more than guesses.
Check:
- NGINX or Apache logs,
- PHP logs,
- application logs,
- reverse proxy logs,
- container logs if you use Docker or similar tools.
You want to see whether the request reaches the app and whether the app dies before sending a response.
10. Check Reverse Proxy and Backend Health
If your site uses a reverse proxy or load balancer, confirm the backend service is healthy.
Look for:
- wrong upstream target,
- backend crashes,
- timeout mismatches,
- empty upstream responses,
- origin firewall rules blocking the proxy.
This is one of the most common website-owner causes of ERR_EMPTY_RESPONSE.
11. Test HTTP and HTTPS Separately
Try both versions if appropriate:
http://example.comhttps://example.com
If one version works and the other shows ERR_EMPTY_RESPONSE, focus on:
- SSL listener setup,
- reverse proxy behavior,
- security filtering on HTTPS,
- server config for the secure virtual host.
12. Check CMS, Plugin, or App-Level Failures
If the error appears only on one route, login, or action, the app is a strong suspect.
Common cases include:
- WordPress plugins crashing before output,
- PHP fatal errors,
- bad themes,
- broken contact forms,
- checkout handlers failing.
The homepage may look fine while one path returns nothing.
13. Review Recent Changes First
This is often the shortest route to the cause.
Ask what changed right before the problem started:
- new plugin or theme,
- server migration,
- reverse proxy change,
- Cloudflare or firewall changes,
- DNS changes,
- security software install,
- router replacement.
Most ERR_EMPTY_RESPONSE problems begin right after one of those changes.
Advanced Troubleshooting
Compare Browsers
Test the same site in Chrome, Firefox, Edge, or Safari.
- If only one browser fails, focus on that browser’s extensions, cache, and local settings.
- If all browsers fail, move your attention to the network or the website.
Inspect the Network Request
Use browser developer tools to inspect the failing request.
Check whether:
- the request starts and ends with no response headers,
- a redirect chain begins and then collapses,
- the response is blank only after login,
- one path fails while others behave normally.
This helps separate browser issues from backend failures.
Check Container and Service Health
On containerized stacks, this error often means the web tier is up but the app tier is unstable.
Check for:
- container restarts,
- crash loops,
- backend listening on the wrong port,
- service discovery problems,
- proxy pointing to a dead container.
Check for Empty Upstream Responses
If you use NGINX, Apache proxy, or a load balancer, the problem may be between layers, not at the browser edge.
Look for:
- upstream closed connection,
- upstream sent no valid response,
- backend timed out without a proper error page,
- headers never returned from the application.
Test the Website from Outside Your Own Network
If you own the site, always test from another network too.
This helps answer one key question:
- Is the website actually failing for the public, or only failing from my current device or office network?
Prevention Tips
- Keep browser, router, and security software updated.
- Avoid overlapping VPN, proxy, and filtering tools unless you truly need them.
- Monitor web server, PHP, app, and proxy logs for crashes.
- Test websites on more than one network after migrations or SSL changes.
- Keep reverse proxy upstreams documented and verified after deployments.
- Do not leave stale hosts file overrides on admin machines.
- Use staging before major app or proxy changes.
The best prevention is simple: make sure every layer in the request path is stable and that the backend always returns a real response instead of failing silently.
When to Contact Support
Contact your hosting provider if:
- only your site shows the error,
- the server may be crashing or returning no output,
- the issue started after migration or proxy changes,
- you need logs or network access you do not control.
Contact your network admin if:
- the issue appears only on office or school networks,
- proxy or filtering rules may be involved,
- many sites fail only in one managed environment.
Focus on local troubleshooting if:
- private browsing changes the result,
- turning off antivirus or VPN fixes it,
- the issue affects one browser profile only.
FAQ
What does ERR_EMPTY_RESPONSE mean?
It means the browser connected to the request path but received no usable response data before the connection ended.
Is ERR_EMPTY_RESPONSE caused by my browser or the website?
It can be either. Local causes include cache, extensions, antivirus, VPN, proxy, and network problems. Website-side causes include app crashes, empty backend responses, reverse proxy problems, and server failures.
How do I fix ERR_EMPTY_RESPONSE fast?
Start by checking whether the problem affects one site or many, then test in a private window, disable VPN and antivirus web filtering, clear cache, flush DNS, and test another network.
Why does ERR_EMPTY_RESPONSE happen on one website only?
Usually because that website, its backend app, or its reverse proxy is returning no data, or because your browser has broken cached state for that specific domain.
Can a server crash cause ERR_EMPTY_RESPONSE?
Yes. If the app or backend fails before sending headers or page content, the browser may show ERR_EMPTY_RESPONSE instead of a cleaner server error page.
Final Thoughts
ERR_EMPTY_RESPONSE usually looks vague, but the core meaning is simple: the browser expected a real response and got nothing usable back.
Start with scope: one site or many, one browser or all, one network or all. Then check browser state, antivirus, VPN and proxy settings, network stability, and server-side backend behavior in that order. That path solves most ERR_EMPTY_RESPONSE cases much faster than random troubleshooting.