Short answer. "This site can't be reached" is a catch-all Chrome error that hides a specific cause: ERR_NAME_NOT_RESOLVED (DNS), ERR_CONNECTION_REFUSED (closed port), ERR_CONNECTION_TIMED_OUT (no reply), or ERR_CONNECTION_RESET (connection dropped). The first step is to read the error code under the heading and work the checklist: check DNS with nslookup, reachability with ping, and the port with curl -I -v.
What "This site can't be reached" means
Chrome shows this page when it couldn't establish a connection. The heading itself is uninformative — real diagnosis starts with the error subcode in the gray text beneath it.
Don't treat the symptom — find the error code. ERR_NAME_NOT_RESOLVED and ERR_CONNECTION_REFUSED demand completely different actions.
Checklist: which error code
- ERR_NAME_NOT_RESOLVED — DNS won't resolve. Check the domain records.
- ERR_CONNECTION_REFUSED — port closed or service not running.
- ERR_CONNECTION_TIMED_OUT — server didn't reply; overload or network.
- ERR_CONNECTION_RESET — connection dropped midway.
- ERR_ADDRESS_UNREACHABLE — no route to the host.
Baseline diagnostics
Run three checks in order — DNS, reachability, port:
# 1. Does the domain resolve to an IP?
nslookup example.com
dig example.com
# 2. Do packets reach the host?
ping example.com
# 3. Is the port open and does the server respond?
curl -I -v https://example.com
User-side fix
- Flush the DNS cache:
ipconfig /flushdnsorsudo dscacheutil -flushcache. - Clear the browser cache and cookies; open the site in incognito.
- Disable VPN, proxy, and extensions.
- Switch the DNS resolver to 1.1.1.1 or 8.8.8.8.
- Reboot the router and test the site on mobile data.
Server-side fix
If the site is down for everyone, check layer by layer:
# Do DNS records point to the right IP?
dig +short example.com
# Is the web server running and listening?
sudo systemctl status nginx
sudo ss -tlnp | grep -E ':80|:443'
Confirm the domain hasn't expired, the SSL certificate is valid, and the firewall allows 80 and 443.
Causes and solutions
| Code / cause | Solution |
|---|---|
| ERR_NAME_NOT_RESOLVED | Fix DNS records, check domain registration |
| ERR_CONNECTION_REFUSED | Start the service, open the port |
| ERR_CONNECTION_TIMED_OUT | Reduce load, check the firewall |
| ERR_CONNECTION_RESET | Check SSL/TLS, MTU, unstable network |
| Expired domain or SSL | Renew the domain, update the certificate |
How to prevent it from recurring
"Site can't be reached" is the worst case: the visitor sees a blank screen and leaves. To learn about downtime first — not from complaints — set up uptime monitoring with checks every few minutes and alerts via Telegram, Slack, email, or webhook. A multi-region check (RU/EU/US) shows whether the site is down globally or only in one region.
Start with the availability and HTTP header check, test DNS lookup and ping and ports. If you doubt the certificate, use the SSL checker. Full guide: website monitoring.
FAQ
Where do I start when I see this error?
Find the code under the heading (ERR_*). It pinpoints the cause — DNS, port, timeout, or reset — and dictates what to fix.
Is it a Chrome problem?
No, Chrome only displays the error. Test the site in another browser and on another device to rule out local settings.
Why does the site open on my phone but not my computer?
Most likely the computer has a broken DNS cache, an active VPN/proxy, or a different DNS server. Flush the cache and compare DNS settings.
How do I know the site went down right now?
Continuous monitoring with short intervals and alerts reports downtime within minutes. Free: 10 monitors with a 5-minute interval.