Troubleshooting guide · website-errors · Published 2026-08-15 · 4 min read

Connection timed out error

Connection timed out error explained: DNS, TCP route, firewall and origin causes with the ordered tests that fix each timeout type.

What a timeout is

A connection timed out message means the client sent a request, waited for the open or the response, and the network gave up before an answer arrived. Unlike a connection refused error, where the server answered "no", a timeout means silence. The inevitable phrase in the browser is ERR_TIMED_OUT or ERR_CONNECTION_TIMED_OUT, and the fix cannot be guessed; it has to be traced.

Three timeouts that look alike need different fixes:

Where it times outSymptomLikely cause
At DNSThe domain never resolvesNameserver down, record missing
At the routetraceroute dies mid-pathISP, firewall, firewall chain
At the servercurl hangs after connectApp slow, DB locked, upstream
After the pageThe page loads but images neverOrigin or CDN slow for that asset

Read the timeout

A timeout has a length. Some browsers wait around 30 to 60 seconds before reporting the timeout, but the server has its own timeout too: max_execution_time in PHP and proxy_read_timeout in nginx, to name two. The fix differs because a client side timeout needs a network fix, while a server side timeout needs a code or database fix.

The test that separates them is curl, which reports where it stopped. Run it and read the exit:

curl -v --connect-timeout 10 https://example.com/

If it ends with Could not connect, the TCP handshake itself failed. If it connects and then hangs, the problem is the server. Compare the two paths:

curl --connect-timeout 8 https://example.com/  # connect attempt
curl --max-time 20 https://example.com/         # full page with long answer

Trace the route

When the connect phase fails, walk the route. A ping tests the host; traceroute (Windows: tracert) shows each hop and where packets stop. A frequent story is the last hop to the datacenter dropping while the rest of the path is clean, which points to a firewall or an edge filter, not to your laptop.

  1. Ping the domain, then the IP directly: ping 203.0.113.10 after nslookup example.com. If the IP answers but the name does not, DNS is set.
  2. Run tracert example.com and compare paths from two different networks, e.g. your phone on mobile data.
  3. Test the destination port specifically: Test-NetConnection example.com -Port 443 (Windows) or nc -zv example.com 443 or curl -v https://example.com/.
  4. Probe an alternate IP, like a relay host or a CDN, to say whether the block is at the host or at the network.

The common findings: a firewalled server drops SYN before the handshake, so the external test times out; the ISP's transit is the weak link; or the origin's IP is blocked by an IP allowlist from a stale office network.

Server side time out

If the route reaches the server but the response never completes, the timeout is an app or database problem. A page that answers nothing for 60 seconds and then dies is the classic signal of a slow query holding the connection. Fixes:

Prevention

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services