Browser connection errors

These are not HTTP errors. No server ever sent them. They are your browser telling you the conversation never started - And each one describes a different way it failed to start.

Browser connection errors

The short version

  • These errors come from your browser, not from a server. No HTTP exchange happened.
  • Refused means something answered and said no. Timed out means silence. Reset means the connection died mid-conversation.
  • Refused on every site is almost always local: A proxy setting, a firewall or VPN software.
  • Timed out on one site while others work points at that site or the path to it.

There is a category difference between a 404 and an ERR_CONNECTION_REFUSED that most troubleshooting advice ignores. A 404 was sent by a server. An ERR_ message was generated by your own browser, because no server ever spoke to it.

That matters: It means every one of these errors describes a failure in the network layer, before HTTP was reached, and the diagnostic questions are completely different.

ERR_CONNECTION_REFUSED

Your machine resolved the name, sent a connection request to that address and port, and got back an explicit refusal - A TCP reset. Something is at that address and it actively said no.

This is a clear answer rather than a mystery. Causes:

  • Nothing is listening on that port. The web server process is stopped, crashed, or was never started. Common on a development machine where you forgot to start the server, and on a production host where a service died.
  • A firewall configured to reject rather than drop. A rejecting firewall sends the refusal; a dropping one produces a timeout instead. Which one you get is a configuration choice on their side.
  • Wrong port. Requesting https:// from a server that only listens on port 80, or a development server on a port you have misremembered.
  • A local proxy that is not running. If your browser is configured to use a proxy that has stopped, every site refuses.

That last case is the tell: If every site gives a connection refused, the problem is local - A proxy setting, VPN software that exited badly, or a local security product. If one site gives it and others work, that site is down.

ERR_CONNECTION_TIMED_OUT

Your machine sent connection requests and nothing came back at all. Not a refusal - Silence. The browser waited out its timeout and gave up.

Silence is less informative than refusal, and there are more possibilities:

  • A firewall dropping packets. Deliberately silent, so a scanner cannot tell whether the host exists.
  • The server is overloaded. The connection backlog is full and new attempts are being discarded.
  • A routing problem. Packets are going into the network and never arriving.
  • The host does not exist at that address. A stale DNS record pointing at a decommissioned server.
  • Your own network. A router that has stopped forwarding, or an ISP problem.

Timeouts take a long time to appear, which is itself a clue: If the error arrives instantly it is more likely refused or a DNS failure than a genuine timeout.

ERR_CONNECTION_RESET

The connection was established and then abruptly terminated mid-conversation. Not refused, not ignored - Killed after it had started.

This one is more often caused by something in the middle than by either endpoint:

  • Interception. Corporate TLS inspection, some antivirus products with HTTPS scanning, and network filtering appliances all reset connections they dislike.
  • An unstable link. Poor Wi-Fi, a marginal cable connection, or a flapping route.
  • A server that crashed mid-response. The process died with the connection open.
  • An MTU or fragmentation problem. Particularly on VPNs and some mobile networks. The signature is that small pages load and large ones consistently fail at the same point.

Intermittent resets on large pages while small ones work is almost always MTU. It is one of the few network problems with a genuinely distinctive symptom.

A quick decision table

SymptomMost likelyFirst thing to try
Every site refusedLocal proxy or VPN softwareCheck proxy settings, restart networking
One site refused, others fineThat server is stoppedNothing - Wait
Every site timing outRouter or ISPTry mobile data
One site timing outThat site or the route to itCheck from another network
Reset on big pages onlyMTUDisconnect VPN; lower MTU
Reset on HTTPS onlyTLS interceptionDisable antivirus HTTPS scanning

The test that answers it fastest

Switch to mobile data with Wi-Fi off. That replaces your router, your ISP and your DNS resolver in one move. If everything works, the fault is inside your network. If the same site fails the same way, the fault is at the other end and a check from our servers will confirm it.

Two further tests worth knowing. Opening https://1.1.1.1 tests raw connectivity without DNS. And trying the site in a private window rules out extensions, which cause resets more often than people expect - Some security extensions terminate connections they consider suspicious.

What not to bother with

Reinstalling the browser, resetting the entire network stack, and running registry cleaners are the standard advice on the more excitable troubleshooting sites, and none of them is the answer to any of the three errors above. Work out which error you have, apply the table, and stop there.

Questions people ask

What is the difference between connection refused and connection timed out?

Refused means something at that address actively rejected the connection - A clear no. Timed out means nothing answered at all, so the browser waited and gave up. A refusal usually means no service is listening; silence usually means a firewall dropping packets, an overloaded server, or a routing problem.

Why do I get ERR_CONNECTION_REFUSED on every website?

Almost always something local: A proxy configured in your browser or system that is no longer running, VPN software that exited badly, or a local security product. If it were a website problem, only that website would be affected.

What causes ERR_CONNECTION_RESET?

Something terminated the connection after it was established. Most often that is something in the middle - Corporate TLS inspection, antivirus HTTPS scanning, or a filtering appliance - Rather than either endpoint. Resets that only affect large pages are usually an MTU problem, typically on a VPN.

Are these HTTP error codes?

No. Errors beginning ERR_ are generated by your browser because no HTTP conversation ever took place. A 404 or 502 was sent by a server; a connection error means no server ever spoke to you.

Read next

DNS_PROBE_FINISHED_NXDOMAIN

What DNS_PROBE_FINISHED_NXDOMAIN means, the difference between a genuinely non-existent domain and a resolver problem, and how to tell them apart.

Error codes explained4 min read

502 Bad Gateway

What a 502 Bad Gateway error means, why it is one of the most common outage errors, and why it usually clears within minutes.

Error codes explained4 min read

Router and Wi-Fi problems

How to diagnose a router or Wi-Fi problem from the status lights, and the difference between a line fault, a Wi-Fi fault and congestion.

Connection troubleshooting4 min read

500 Internal Server Error

What a 500 Internal Server Error actually means, why it is always the server's fault, and the handful of cases where a visitor can work around it.

Error codes explained4 min read