ERR_EMPTY_RESPONSE: The server sent no data

The connection succeeded and then the server returned zero bytes. Typically a fatal application error that killed the process before any headers were written, or a protocol mismatch on the port.

Short answer

The connection succeeded and then the server returned zero bytes. Typically a fatal application error that killed the process before any headers were written, or a protocol mismatch on the port.

What ERR_EMPTY_RESPONSE means

No status line, no headers, no body. The browser has nothing at all to render, which is why the message is generic. The evidence lives entirely in the server's own logs.

Causes and fixes, most likely first

  1. The application crashed before writing any output. Check the error log for a fatal error or segfault at that moment. Memory limits are the most common trigger.
  2. HTTPS is being spoken to a port serving plain HTTP, or vice versa. Confirm the scheme matches the port's configuration. A proxy forwarding https:// to an http:// backend that expects TLS produces exactly this.
  3. A request exceeded a size or header limit and the server dropped it silently. Raise the relevant body/header size limits, or fix the client sending oversized requests.

How to stop it happening again

Check your own domain

An external probe confirms whether zero bytes come back for everyone, and whether both HTTP and HTTPS behave the same way.

Frequently asked questions

Why is there no error code?

Because the server never sent a status line. HTTP status codes come from the response; there was no response.