
You open your site. It loads perfectly. Then a user tells you it's broken — or your monitoring alert fires from a location on the other side of the world. This is one of the most disorienting problems in web operations because the site is clearly working, just not for everyone.
Here's how to systematically diagnose why your site is reachable from some places and not others.
The single most common cause: you recently changed DNS records, your local machine still has the old IP cached, and you're actually connecting to a different server than your visitors are.
# What IP are YOU resolving?
dig yourdomain.com A +short
# What are public resolvers seeing?
dig yourdomain.com @8.8.8.8 A +short
dig yourdomain.com @1.1.1.1 A +short
If these return different IPs, your local cache is stale. Flush it:
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Windows
ipconfig /flushdns
Your server or CDN may be restricting access by geography, IP range, or ISP. This often happens unintentionally — a security rule added to block a spam source that was too broad, or a CDN geo-restriction setting left on from testing.
# Test from the user's region using a VPN or online tool
# Or check directly:
curl -I https://yourdomain.com -H "X-Forwarded-For: IP_FROM_AFFECTED_REGION"
# Check Cloudflare firewall rules if applicable
# Dashboard → Security → Firewall Rules
If users in specific countries or on specific ISPs are affected, geoblocking or a broad IP block rule is likely.
On servers with multiple network interfaces (common with cloud providers), your web server may be listening on a specific IP rather than all interfaces. If your public IP changed — or the server has a different public IP than expected — connections from outside reach a different address than what the web server is bound to.
# What addresses is your web server listening on?
ss -tlnp | grep ':80\|:443'
# Are you listening on all interfaces (0.0.0.0) or a specific IP?
# 0.0.0.0 = all interfaces = accessible from outside
# 192.168.x.x or similar = internal only
If you're using a CDN (Cloudflare, CloudFront, Fastly), the CDN may be serving cached responses to most users while you're connecting directly to the origin. If the origin is returning errors but the CDN has a cached success response, you see a working site while users elsewhere get errors — or vice versa.
# Check if Cloudflare is in the path
curl -I https://yourdomain.com | grep -i "cf-ray\|server"
# Check cache status
curl -I https://yourdomain.com | grep -i "cf-cache-status"
If Cloudflare is serving MISS (not cached), users should see the same as you. If HIT, they're getting cached content.
Some corporate networks and VPNs run internal DNS that overrides public DNS. A developer behind their office network may see the internal/staging version of a site while external users see the public version — or nothing at all if the internal DNS is wrong.
Test from outside your office network (mobile hotspot, home internet) to eliminate this.
You visited the site when it was working. Your browser cached the response. The site is now down, but your browser is serving the cached version — so it still looks fine to you.
Test in a private/incognito window with cache disabled:
curl to bypass the browser entirelycurl -I --no-cache https://yourdomain.com
The fastest way to determine the scope of an outage is to check from multiple global locations simultaneously. Tools like dig and curl only tell you what your machine sees.
Domain Monitor checks your site every minute from multiple locations around the world. When your site is accessible from some locations and not others, the monitor shows you which locations are failing — giving you the geographic scope of the problem immediately. Create a free account.
When your site goes down, your status page becomes the most important page you have. Here's why it matters, what happens when you don't have one, and what a good status page does during a real outage.
Read moreYour domain is resolving, but pointing to the wrong server — showing old content, a previous host's page, or someone else's site entirely. Here's what causes this and how to diagnose it.
Read moreUptime monitoring isn't foolproof. Single-location monitors, wrong health check endpoints, long check intervals, and false positives can all cause real downtime to go undetected. Here's what to watch out for.
Read moreLooking to monitor your website and domains? Join our platform and start today.