This site can't be reached: what each version means and how to fix it
Kofi Agyem, Founder and CEO, CloudzyroPublished · 5 min read
On this page
This site can't be reached is Chrome's heading for several errors. Match the line under it to the cause, then fix it fast, as a visitor or site owner.
1. The short answer
This site can't be reached is Chrome's heading for any error where the browser couldn't connect to the website at all. No page came back, so there's no HTTP status code like 404 or 502. The line underneath and the code at the bottom say what went wrong: the address couldn't be found, the server refused, it didn't answer, or the connection broke.
Find your code below, then follow that guide. If you're in a hurry: check the address, try another network, flush your DNS cache, and turn off any VPN. Edge shows the same codes under Hmm... can't reach this page.
2. Match the message to the cause
- The server IP address could not be found with DNS_PROBE_FINISHED_NXDOMAIN or ERR_NAME_NOT_RESOLVED: DNS has no address for the name. A typo, an expired domain or a missing record.
- Check your DNS settings with DNS_PROBE_FINISHED_BAD_CONFIG: your device's DNS server isn't working.
- example.com refused to connect with ERR_CONNECTION_REFUSED: the server is there, but nothing is accepting connections on that port.
- example.com took too long to respond with ERR_CONNECTION_TIMED_OUT: no answer at all, often a firewall silently dropping traffic or a server that's down.
- The connection was reset with ERR_CONNECTION_RESET: the connection opened, then something cut it off.
- ERR_ADDRESS_UNREACHABLE: there's no route to the server's address, often a local network or VPN problem.
- ERR_INTERNET_DISCONNECTED: you're offline. Chrome shows No internet and its dinosaur game.
Two related errors use a different heading. This site can't provide a secure connection is ERR_SSL_PROTOCOL_ERROR or another HTTPS handshake failure, and This page isn't working with redirected you too many times is ERR_TOO_MANY_REDIRECTS. A red Your connection is not private page means the connection worked but the certificate didn't check out: see Your connection is not private.
3. Where in the connection it failed
Opening a site takes a few steps, and each family of errors maps to one of them:
- Look up the name in DNS. Failure here gives the could-not-be-found errors.
- Open a TCP connection to that address on port 443 (or 80). Failure here gives refused, timed out or unreachable.
- Set up HTTPS with a TLS handshake. Failure here gives the secure connection and certificate errors.
- Send the request and read the reply. A reset here gives ERR_CONNECTION_RESET. If a reply arrives, any problem shows as an HTTP status code instead, like a 502 Bad Gateway.
Knowing the step tells you who to look at. Step 1 problems live in DNS settings, step 2 in servers and firewalls, step 3 in certificates and server settings, and step 4 in networks or the app.
4. Fixes for visitors, quickest first
- Check the address for typos, and try
https://and with or withoutwww. - Reload once, then try in an incognito window to rule out extensions.
- Try another network, such as your phone on mobile data. If it works there, the problem is on your network or computer.
- Turn off your VPN or proxy. In Windows, check Settings, Network and internet, Proxy for a proxy you didn't set.
- Flush your DNS cache (commands below) and restart your router.
- Try a public DNS resolver such as
1.1.1.1or8.8.8.8. - Check your firewall or antivirus isn't blocking the browser or that site.
- If it still fails everywhere, the site is down or misconfigured. Check its status page or social accounts, or contact the owner.
# Windows (Command Prompt or PowerShell)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux with systemd-resolved (Ubuntu, Fedora and most others)
resolvectl flush-caches
# Chrome's own cache: open this address, then click Clear host cache
chrome://net-internals/#dns5. Fixes for site owners
- Reproduce it from outside your own network, for example from your phone on mobile data, so your own cache doesn't hide the problem.
- Check DNS with
dig(below). The name should resolve to the address you expect. See What is DNS?. - Check the server accepts connections on 443 and 80. A refusal means nothing is listening; a timeout usually means a firewall or a server that's down.
- Check HTTPS with
curl -v. It shows the TLS handshake and the certificate. - Read the server's logs once requests start arriving, for app errors.
On Cloudzyro Sites & Apps, each site has a free cloudzyro.app address. If that loads but your own domain doesn't, the problem is the domain's records: www needs a CNAME to domains.cloudzyro.app, the bare domain an A record to 173.234.137.167, and at Cloudflare the records must be DNS only (gray cloud). The site's Domains tab says what it found, and the domain troubleshooting guide explains each message. If something's wrong on our side, it's on the status page.
6. How to check
# 1. Does the name resolve?
dig +short www.example.com
nslookup www.example.com # Windows
# 2. Does the server accept connections on 443?
nc -vz www.example.com 443 # macOS and Linux
Test-NetConnection www.example.com -Port 443 # Windows PowerShell
# 3. Does HTTPS work, and what comes back?
curl -v https://www.example.com/Each command tests one step. If step 1 fails, it's DNS. If step 2 says refused or times out, it's the server or a firewall. If step 3 fails during the handshake, it's TLS or the certificate. If all three work for you, the problem is on the visitor's side.