VPS Is Running but Website Is Down
Short answerIf you can reach the VPS (SSH, RDP, or ping) but the website will not load, focus on DNS, the web server (Nginx/Apache/IIS), firewall ports 80/443, your app/backend, and SSL — not hypervisor power issues.
Overview
This guide is for the scenario where the VPS itself is up but HTTP/HTTPS fails. If SSH, RDP, and ping all fail too, start with Cannot Connect to Linux VPS with SSH, Cannot Connect to Windows VPS with RDP, or the console recovery guide How to Use the Console When SSH or RDP Fails.
1) Confirm the VPS is actually online
- Log in at billing.vpsgrid.net
- Open Services → My Services → your VPS
- Confirm status is Active
- Verify you can connect with SSH (Linux) or RDP (Windows)
If remote login works, the hypervisor/network path to the VM is fine — the problem is DNS, the web stack, or application layer.
2) Separate DNS vs server problems
| Test | Healthy sign | Usually means |
|---|---|---|
dig +short example.com A | Returns your VPS primary IP | DNS is pointed correctly (propagation may still lag) |
curl -I http://YOUR_PRIMARY_IP | HTTP response from web server | Server responds by IP — DNS or vhost issue if domain fails |
| Domain fails, IP works | — | DNS A record, propagation, or wrong nameservers — Point domain to VPS IP |
| Both domain and IP fail | — | Web server stopped, wrong port, or firewall blocking 80/443 |
3) Check the web server is running
Linux (Nginx):
systemctl status nginx
ss -tlnp | grep ':80\|:443'
curl -I http://127.0.0.1/Linux (Apache):
systemctl status apache2 # Debian/Ubuntu
systemctl status httpd # Alma/Rocky
curl -I http://127.0.0.1/Windows (IIS):
- Open IIS Manager → confirm the site is Started
- Check site bindings include port 80 / 443 for your hostname
- Hosting guide: Host a Website on Windows VPS with IIS
4) Check firewall allows web traffic
- Linux: confirm ports
80and443are allowed in ufw/iptables/nftables - Windows: allow World Wide Web Services (HTTP/HTTPS) or explicit 80/443 inbound rules
- Do not disable the entire firewall — open only what you need
While testing, keep an SSH/RDP or console session open so you do not lock yourself out.
5) Check virtual host / site config
- Does the server block listen for your domain name, not just the IP?
- Is the document root path correct and do site files exist?
- After DNS changes, did you add an Nginx server block / Apache vhost / IIS binding for that hostname?
Pointing DNS alone does not create a website — How to Point a Domain to a VPS.
6) Application and backend errors
- 502/504 in browser: backend (PHP-FPM, Node/PM2, Gunicorn, app pool) may be down — see Website Shows 502 or 504 Error
- Check web server error logs and application logs right after a failed request
- Confirm database/service dependencies are running if the site needs them
- Check disk space — a full disk can stop services:
df -h
7) HTTPS / certificate issues
- If HTTP works but HTTPS fails, inspect certificate expiry and vhost SSL config
- Confirm port 443 is open and the web server listens on it
- Certificate mismatch errors usually mean wrong cert for the hostname or incomplete chain
8) When to escalate
Open a ticket if:
- Status is Active, SSH/RDP works, but
curl -I http://YOUR_PRIMARY_IPfrom outside never responds and firewall/web server checks look correct - You suspect a platform issue affecting multiple services on your account
Include: domain, primary IP, dig output, curl -I results, and what works (SSH/RDP) vs what fails (HTTP/HTTPS).
Frequently Asked Questions
SSH works but my domain shows nothing
Test the primary IP with curl. If IP works, fix DNS A records or web server hostname binding. If IP also fails, the web server or firewall is the issue.
HTTP works but HTTPS does not
This is usually SSL certificate or port 443 configuration inside the guest OS, not a VPSGrid network outage.
I just changed DNS — how long should I wait?
Propagation depends on TTL and resolver caches. Test with dig from multiple locations before assuming the server is broken.
Related Articles
Need More Help?
Open a ticket at billing.vpsgrid.net with domain, primary IP, dig/curl output, and confirmation that SSH/RDP still works.
Was this answer helpful?