The four-layer diagnostic order
- Network reachability — can packets reach the server at all? Use ping.
- DNS — does the domain resolve to the IP you expect?
- Transport / SSL — does TLS handshake succeed? Is the cert valid?
- Application — does the HTTP service return a real response?
Interpreting each result
Ping fails entirely: server is offline, blocked by firewall, or behind a load balancer that drops ICMP. Try TCP ping or move to step 2.
DNS returns wrong IP: someone changed the record, propagation isn't complete, or local cache is stale. Flush DNS, query a public resolver.
SSL handshake fails: expired cert, broken chain, or protocol mismatch. Test with a different browser to rule out client-side issues.
HTTP returns 5xx: server is up but the application is broken. Check logs and recent deploys.
HTTP returns 4xx: request is reaching the server but being rejected. Often auth, rate limiting, or routing config.
When to suspect your own network
If only you can't reach the site, the diagnostic order shifts: try a different DNS resolver, restart your router, test from mobile data, and check that your firewall or VPN isn't blocking the destination. Two minutes of testing from outside your network beats two hours of guessing inside it.