N8n Not Loading in browser

Hi everyone,
I’m facing a major issue with my n8n instance on a Hostinger VPS, and I hope someone can guide me.
Everything was working fine until I tried installing Playwright on my VPS. Right after that, n8n suddenly showed “Connection lost” in the editor. When I refreshed the page, it started showing a 404 error.
Since then, I have done the following steps:
Reinstalled and updated Docker (Docker + Docker Compose plugin working fine)
Confirmed n8n Docker container is running (docker ps shows it correctly)
Checked Nginx config and added full reverse-proxy settings including WebSocket headers
Removed default Nginx site
Enabled my /etc/nginx/sites-available/n8n file
Tested Nginx (nginx -t success) and reloaded it
Configured Hostinger VPS Firewall to allow port 80 and 443
DNS is also correctly set
curl from my local system returns the full n8n HTML, so server is reachable
But when I try to open it in the browser, it still shows:
“This site took too long to respond” / ERR_CONNECTION_TIMED_OUT
So even though Nginx is responding via curl and Docker is running, the browser still won’t load the n8n UI at all.
I’ve been stuck on this for hours — can someone please help me understand what is causing this and how to fix it?

Describe the problem/error/question

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hi,

For most nginx setups, this:
curl -v http://<your_domain>
Should give you a 301

This:
curl -v https://<your_domain>
Should succeed. I assume that this is what’s happening for you from your question, but do make sure.

How about using a different browser, same thing? What do you see in the console of the browser’s dev tool.

(A few have seen good results by referencing this previous quesiton: Installing n8n selfhositing - #24 by KhemOptimal)

Khem

Thanks for the quick response!

I tested the two curl commands you mentioned:

1. curl -v http://<domain>

It returns the full n8n HTML (so Nginx is responding), but it does not return a 301 redirect.

2. curl -v https://<domain>

This one actually fails — I think HTTPS is not configured yet or something is blocking it.
So maybe that is part of the problem?

Also, I tried loading the domain in two different browsers (Chrome + Edge).
Both show the same “took too long to respond” error.
The page NEVER loads.

Browser DevTools Console

When I open DevTools → Console, it shows errors related to resources not loading (it looks like none of the JS/CSS files load correctly).

I saw your link to the gist

I checked the gist by @KhemOptimal — thank you!
The Nginx config there is more advanced (includes the map block for connection upgrades).

Before I apply that config, can someone confirm if this looks like:

  • missing SSL (Let’s Encrypt)

  • browser blocking mixed-content

  • or WebSocket proxy misconfiguration?

My n8n Docker container is running, and curl gives the HTML, but the browser still refuses to load the editor UI.

Any help would be appreciated — I’ve been stuck on this since my Playwright installation broke the original setup. :folded_hands:

I’m not aware of Playright affecting/changing nginx configurations. Since you said that you had a working setup before, your cert should be on your VPS.

Make sure port 443 is open and traffic can get through on your VPS. From what you described, you may want to double check this.

Before making any more changes, can you share your nginx configuration and docker-compose.yaml?

Khem