Error CONN · dns

ERR_CONNECTION_REFUSED

In one line

DNS worked and your browser found an address, but nothing at that address accepted the connection.

Ben Johnson · last verified 2026-08-04

Also seen as: This site can't be reached · connection refused · ERR_CONNECTION_TIMED_OUT

What it actually means

This is one step further along than DNS_PROBE_FINISHED_NXDOMAIN. There, the name didn’t resolve at all. Here it resolved fine — your browser got an IP address and tried to connect to it — and got no usable answer.

Two variants worth telling apart, because they mean different things:

  • ERR_CONNECTION_REFUSED — something answered and actively said no. A machine is there; nothing is listening on that port, or a firewall rejected it outright.
  • ERR_CONNECTION_TIMED_OUT — nothing answered at all. The packets went into a void. Usually a firewall dropping traffic silently, or the address points at nothing.

Refused is faster and more informative. Timed out means you waited for a response that never came.

Diagram illustrating dns errors on shared web hosting.

Why it happens

The DNS record points at the wrong address

An old A record left over from a previous host, or a typo’d IP. The name resolves perfectly to a server that has nothing to do with you.

This is the most common cause after a migration where DNS wasn’t fully updated.

The web server isn't running

On a VPS or a home server, the machine is up but Apache, nginx or Caddy isn’t. Nothing is listening on port 80 or 443, so connections are refused.

A firewall is blocking the port

Either on the server or between you and it. Home internet providers frequently block inbound 80 and 443, which is the usual reason a home-hosted site works locally and not from outside.

You're being blocked specifically

A security plugin or the host’s brute-force protection banned your IP after repeated failed logins. The site works for everyone else, which makes it look like a local network problem.

How to fix it

1. Check what the DNS record points at

dig +short example.com @1.1.1.1

Compare that with the IP your host gave you. If they don’t match, the record is stale — fix it and see pointing a domain at your host.

Use the DNS propagation checker to confirm what the wider internet sees rather than your own cached copy.

2. Test whether anything is listening

curl -sSv --max-time 8 https://example.com 2>&1 | head -5
nc -zv example.com 443

Connection refused means the address is right but nothing is serving. Connection timed out means traffic isn’t arriving at all — that’s a firewall, not a web server.

3. Confirm it isn't just you

Load the site on mobile data with wifi off, or ask someone elsewhere.

If it works for them, your IP is blocked or your local network is interfering. Check your host’s security settings for a ban list before changing anything on the server.

4. Restart the web server, if it's yours

On a VPS or home server:

sudo systemctl status nginx     # or apache2, caddy
sudo systemctl restart nginx
sudo ss -tlnp | grep -E ':80|:443'

That last command lists what is actually listening. Empty output for those ports is your answer.

On shared hosting you have no control here — if nothing is listening, that’s an outage to report, not something to configure.

5. Check the port isn't blocked upstream

If you’re hosting from home, confirm your provider allows inbound 80 and 443. Many residential plans block them permanently, and no amount of router configuration works around it. Test from outside your own network — a site loading on your own wifi proves nothing.

On CWP specifically

Our platform

On CWP this error should only appear during the first minutes after account creation, while DNS is being published for a new subdomain.

If a custom domain shows it, the DNS record is almost certainly pointing somewhere other than us — check the Domains page for the values you should be using, then verify with the propagation checker.

Still stuck?

Post the exact error and your account name on the community forum — staff and other users answer there, and the thread helps the next person who hits this.