I’m currently learning node.js and loving it. I have a single server which is bounded with just 1 ip addresses. But I have a two node.js app on that server. My nginx is like:

  server {
    listen 80;
    server_name domain.comm www.domain.comm;
    location / {
      proxy_pass http://localhost:6300;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection 'upgrade';
      proxy_set_header Host $host;
      proxy_cache_bypass $http_upgrade;
    }
  }


server {
  listen 80;
  server_name lite.domain.com;
  location / {
    proxy_pass http://localhost:5300;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

And all my DNS records all set it up. I’d already set lite.domain.com to my server ip. When i try to run that nginx domain.com gives blank page with title and lots of 404 error on inspect page.

lite.domain.com also taking a action same as domain.com

I checked all my apps are working properly at background and clean. So whats wrong with my nginx configuration as reverse proxy for node.js?

Thank you for any input <3

1 comment

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
2 answers

Hi there @dethnass,

Your Nginx server blocks actually look correct.

Can you share some of the 404 errors that you get?

Also, have you tried visiting your applications on the specific ports just to test if they are running as expected: lite.domain.com:5300?

Regards,
Bobby

Hi @bobbyyiliev

When i try to reach lite.domain.com or directly http://www.domain.com it gives me white of death (blank white) screen with that 404 console outputs:

Refused to apply style from 'http://lite.domain.com/css/bootstrap.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
lite.domain.com/:1 Refused to apply style from 'http://lite.domain.com/public/css/index.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
jquery.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
bootstrap.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
power.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
index.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
lite.domain.com/:1 Refused to apply style from 'http://lite.domain.com/css/bootstrap.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
lite.domain.com/:1 Refused to apply style from 'http://lite.domain.com/public/css/index.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

My dns records is like:

DNS records
Type    Hostname    Value   TTL (seconds)   
A    lite.domain.com directs to  46.101.xxx.xx 3600  
A    www.domain.com  directs to  46.101.xxx.xx 3600 

By the way i have an also another droplet that carry just single app on with that configuration:

server {
    listen 80 default_server;
    listen [::]:80 default_server;


    root /var/www/app;


    server_name hellonode;

    location ^~ /assets/ {
        gzip_static on;
        expires 12h;
        add_header Cache-Control public;
  }

    location / {
        proxy_http_version 1.1;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://localhost:5300;
    }
}

That droplet works very well on http://ip/ with 0 error but i cant figure out my another droplet with two app.

Submit an Answer