Fix "Connection timed out" (site won't load at all)
“Connection timed out” / ERR_CONNECTION_TIMED_OUT means the browser couldn’t even
reach your server — the request got no answer at all. This is different from a
500 or
502, where the server did
respond with an error. Something between the visitor and your server is the problem.
Work outward, in this order
1. Does the name resolve?
dig +short yourdomain.comBlank or wrong IP → it’s DNS, not the server → domain won’t resolve.
2. Is the server reachable at all? From your machine:
ping yourserver.ipcurl -sS -m 10 http://yourserver.ip # try the raw IPNo response to either → network/firewall level, not the app.
3. Is the right port open? A timeout on 80/443 while SSH works often means the firewall is blocking web ports. Make sure 80 and 443 are allowed. A misconfigured firewall (or one enabled without opening web ports) is a classic cause.
4. Is the web server running? If the server is reachable but the web port times out, nginx may be down. Check services and restart nginx.
5. Provider firewall / security group. Cloud providers have their own firewall (AWS Security Groups, etc.) in addition to the server’s. Both must allow 80/443. A timeout right after launching a new server is very often the provider’s security group.
The quick mental model
| Works? | Points to |
|---|---|
dig wrong | DNS |
ping/IP fails | network / provider firewall / server down |
| SSH ok but 80/443 time out | firewall ports or nginx down |
| IP works but domain doesn’t | DNS |
Fix the outermost failing layer first, then retest.
Running OrbixPanel? The built-in firewall makes it easy to confirm 80/443 are open. OrbixPanel.com → — the free, self-hosted, AI-powered hosting control panel.