Skip to content
RU

ERR_ADDRESS_UNREACHABLE: No Route to the Server. How to Fix

What it means: Chrome has no network route to the IP address it got from DNS, so the connection never started.

  1. Check the device is on, same network
  2. On a Mac, allow Chrome Local Network access
  3. Disconnect or connect the VPN
  4. Try another network
  5. Owner: check DNS records and firewall rejects

Test your URL now

Pings your host from our server, so you see whether it answers from outside your network.

Check your host & ports →

What ERR_ADDRESS_UNREACHABLE means

net::ERR_ADDRESS_UNREACHABLE is Chromium error -109: «The IP address is unreachable. This usually means that there is no route to the specified host or network» (net_error_list.h). DNS already worked and returned an IP address; the failure happens when Chrome tries to open the TCP connection to it. The operating system reports that the host or network cannot be reached (EHOSTUNREACH or ENETUNREACH on Linux and macOS, WSAEHOSTUNREACH or WSAENETUNREACH on Windows), and Chrome maps that to -109.

That answer comes either from your own machine (it has no route to that network) or from a router or firewall that sends back an ICMP unreachable message. It is not a DNS failure (that is ERR_NAME_NOT_RESOLVED), not a refused connection (the host is up but nothing listens), not a timeout (packets vanish with no answer), and not a TLS or certificate error: no TLS handshake ever started.

Causes in Chrome, Edge, Firefox and Safari

BrowserWhat you seeMost common trigger
Chrome, Edge«This site can't be reached» and «address is unreachable.»A local-network address (router, NAS, dev server) that this device cannot route to
Chrome on macOS 15 and laterThe same page, but only for addresses on your local networkChrome is not allowed in System Settings > Privacy & Security > Local Network
Firefox, SafariTheir own «can't connect» wording; no Chrome codeThe same missing route

Most reports involve private addresses: a device that is switched off or on another subnet or VLAN, a VPN that captures the route to 10.x or 192.168.x, or being on the guest Wi-Fi when the target is on the main network. On macOS 15 (Sequoia) and later, apps need the Local Network permission; if Chrome does not have it, local addresses fail with this error while public sites work.

For public websites the usual causes are DNS returning an address that cannot be reached from where you are (a stale record, a private IP leaking from split-horizon DNS, or an IPv6-only site on a network without IPv6) and firewalls configured to reject with an ICMP host-unreachable or host-prohibited message instead of dropping. Such a reject produces «No route to host» on the client even though the route is fine.

Behind Cloudflare, nginx or another proxy

A CDN or reverse proxy rarely causes this error directly, because the browser only connects to the proxy's public addresses and those are routable. The one check that still applies: make sure your DNS points at the proxy and not at an origin address that is private or firewalled. If an A or AAAA record for a proxied host was switched to DNS-only, or a new subdomain was created with the origin's internal IP, visitors connect straight to an address they cannot reach.

dig +short example.com A
dig +short example.com AAAA
# Private ranges such as 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16
# in public DNS mean visitors are sent somewhere they cannot reach

If you own the site

  1. Check what DNS returns from more than one resolver: dig +short example.com @1.1.1.1 and dig +short example.com @8.8.8.8. Remove stale or private addresses. For resolver-side issues see DNS resolution fixes.
  2. Check IPv6. If you publish an AAAA record, the server must actually answer on it: curl -6 -v https://example.com/. A broken AAAA record hurts IPv6-capable visitors only.
  3. Find where the path stops:
    traceroute -n 203.0.113.10
    mtr -rwc 20 203.0.113.10
    A trace that ends at your provider's edge with !H or !N (host or network unreachable) points at routing or a reject rule there.
  4. Check firewall reject types on the server and the provider firewall: iptables -S | grep -E 'host-unreach|host-prohib|net-unreach'. Rules that should block nobody but answer with these types turn into this error for clients.
  5. Confirm the server is up and has the address: ip addr and ip route on the host, and the provider's panel for a down instance or a detached IP.

More scenarios: ERR_ADDRESS_UNREACHABLE fix guide.

If you are a visitor

  1. Check the address. If it is a local one (192.168.x.x, 10.x.x.x, .local), make sure the device is on and you are on the same network, not the guest Wi-Fi or mobile data.
  2. On a Mac: System Settings > Privacy & Security > Local Network, and allow Google Chrome; restart Chrome after changing it.
  3. Disconnect a VPN, or connect it if the target is on your company network. VPNs commonly take over routes to private ranges.
  4. For a public site, try another network. If it works there, your network or provider cannot route to that address; secure DNS (Chrome Settings > Privacy and security > Security > Use secure DNS) helps if your resolver returns a wrong address.

Clearing the browser cache does not help: no connection was made. If the site is unreachable from every network, it is down or misconfigured on the owner's side.

How to confirm the fix

ping -c 3 203.0.113.10
curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/
# 200

Some hosts block ICMP, so a failed ping alone proves nothing; the TCP test with curl is the one that matters. To test reachability of the host and port from outside your own network, use the ping and port checker.

Related errors

ICMP PingHost availability and latency
Port ScannerOpen TCP port detection
LatencyResponse time in milliseconds
Packet LossPercentage of dropped packets

Why teams trust us

ICMP+TCP
check protocols
14
key ports scanned
3,184
checks in 30 days
3
regions

How it works

1

Enter IP or domain

2

ICMP packets sent

3

Latency & packet loss shown

How Do Ping and Port Scanning Work?

Ping sends ICMP packets to a host and measures response time. Port scanning checks which TCP ports are open and accepting connections — helping diagnose serviceavailability issues.

Configurable Ping

Choose packet count (3, 4, 6, 10). Stats: min/avg/max latency and packet loss.

Common Port Scanner

Check 14 key ports: HTTP, HTTPS, SSH, FTP, SMTP, MySQL, PostgreSQL, and more.

Cloud-Based Check

Testing from our server — see site availability from outside, not just your local network.

Uptime Monitoring

Need constant monitoring? Create a monitor — checks every minute with notifications.

Who uses this

DevOps

availability diagnosis

Network engineers

TCP port scanning

Developers

connection debugging

SRE

basic health check

Common Mistakes

ICMP blocked = server is downMany servers block ICMP. Ping fails but site works — check ports instead.
High ping = server problemLatency depends on geography. 150ms between continents is normal, not an error.
Closed ports — cause for alarmClosed ports of unused services are good. Unnecessary open ports are a risk.
One check = sufficientNetworks are unstable. A single timeout ≠ a problem. Check multiple times or set up monitoring.

Best Practices

Combine ping and port checksPing shows host availability, ports show specific service availability. Use both.
Check from different locationsThe problem may be local. A cloud test shows the real picture.
Close unused portsEvery open port is a potential attack vector. Keep only necessary ports open.
Set up monitoringManual checks do not scale. Set up automated monitoring with notifications.

Get more with a free account

Ping check history, host availability monitoring and downtime alerts.

Sign up free

Learn more

Sources

Frequently Asked Questions

How is ERR_ADDRESS_UNREACHABLE different from ERR_CONNECTION_REFUSED?

Refused means the host answered and rejected the connection because nothing listens on that port. Unreachable means there is no route to the host at all, so the connection could not even be attempted.

Why does Chrome show it for my router or NAS but Safari works?

On macOS 15 and later each app needs the Local Network permission. Allow Google Chrome under System Settings > Privacy & Security > Local Network and restart it.

Why does it fail on Wi-Fi but work on mobile data?

The two networks route differently. A local address only exists on your home or office network, while a public site that fails only on Wi-Fi points at that network's routing, firewall or DNS.

Is ERR_ADDRESS_UNREACHABLE caused by DNS?

Indirectly, sometimes. DNS worked, but it may have returned a stale, private or IPv6 address your network cannot reach. Compare the answer from another resolver.

Is this an SSL or certificate error?

No. The TCP connection never opened, so no TLS handshake took place.

Try the live tool that powered this guide

Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.