Blog
3 min read

"This Site Can't Be Reached": What the Error Code Tells You

Chrome's 'This site can't be reached' covers several different problems, and the small error code underneath tells you which: NXDOMAIN, CONNECTION_REFUSED, TIMED_OUT, CONNECTION_RESET and more. What each means and how to fix it, as a visitor and as a site owner.

"This site can't be reached" is Chrome's (and Edge's) generic page for "I couldn't get any response from that website". It's not one problem — it's a family. The useful part is the small grey code at the bottom, which tells you what actually went wrong.

Read the error code

Code What happened Usual cause
DNS_PROBE_FINISHED_NXDOMAIN The domain name doesn't exist in DNS Typo, missing DNS record, expired domain
ERR_NAME_NOT_RESOLVED DNS lookup failed DNS records missing or DNS server problems
ERR_CONNECTION_REFUSED Reached the server, nothing listening on that port App/web server not running, wrong port
ERR_CONNECTION_TIMED_OUT No response at all Server down, firewall dropping traffic, wrong IP
ERR_CONNECTION_RESET Connection started, then was cut Server crash mid-request, firewall, proxy, VPN
ERR_ADDRESS_UNREACHABLE No route to that address Network problem, often local
ERR_SSL_PROTOCOL_ERROR HTTPS handshake failed Certificate or HTTPS misconfiguration

First steps for anyone

  1. Check the address for typos, and try with and without www.
  2. Try another device or network (phone on mobile data). If it works there, the problem is on your side.
  3. Restart your router and try again.
  4. Turn off VPNs, proxies and ad blockers temporarily.
  5. Clear the browser's DNS cache: visit chrome://net-internals/#dns → Clear host cache.
  6. Use a downdetector-style site to see whether it's down for everyone.

If it's your own site, by error code

NXDOMAIN or NAME_NOT_RESOLVED → DNS

The name isn't resolving to an address. Check the records exist for the exact hostname, at the nameservers currently in charge. (DNS_PROBE_FINISHED_NXDOMAIN, DNS records explained)

dig yourdomain.com

CONNECTION_REFUSED → nothing listening

DNS works, the server is reachable, but no program answers on port 80/443. The web server or app is down, or listening on a different port. (ERR_CONNECTION_REFUSED)

TIMED_OUT → can't reach the server at all

  • The server is off, or out of resources and not responding.
  • A firewall silently drops traffic on 80/443 — check both the server's firewall and your cloud provider's. (UFW firewall basics)
  • DNS points at the wrong IP — an old server, or a typo in the A record.
  • Your server's IP changed (some providers change it when you recreate a server).

Test from your own machine:

curl -v --max-time 10 https://yourdomain.com

(What is curl?)

CONNECTION_RESET → something cut it off

Often the app crashed while handling the request, or a proxy/firewall closed the connection. Check the server's logs at that moment.

SSL errors → HTTPS setup

The certificate is missing, expired, or doesn't match the domain. (Your connection is not private, How automatic SSL works)

It works for me but not for others (or the reverse)

Usually DNS propagation after a change — different people's resolvers have different cached answers for a while. (DNS propagation explained) Occasionally IPv6: you have an AAAA record pointing somewhere that doesn't serve the site, so only visitors on IPv6 networks fail. (IPv4 vs IPv6)

Set up monitoring

Don't find out from a customer. An uptime monitor checks your site every minute and alerts you when it fails. (How to know when your app is down)


EasySpawn runs your app on a server with the web server, HTTPS and firewall configured for you, and keeps the app running if it crashes. See how it works or join the waitlist.

Related: ERR_CONNECTION_REFUSED · DNS_PROBE_FINISHED_NXDOMAIN · 502 Bad Gateway · What Is a DNS Server?

Keep reading