bronzetab
By:
bronzetab

How to setup nginx to server static content and reverse proxy a nodejs web server.

November 6, 2017 134 views
Nginx Node.js Ubuntu 16.04

I have a droplet setup with nginx using server blocks to have several virtual hosts, letsencrypt and nodejs running: thanks to the great tutorials. I'm using koa.js for the nodejs webserver and I use react to build the static files. I would like to configure nginx to serve the static files from /var/ww/whatever.com while still proxying all other requests.

The reverse proxy part works, but the static content is not served when I access the site as foo.com/ or foo.com/index or foo.com/index.html. All of the requests are passed to the nodejs process instead.

1 Answer

Change

    location / {
        # First attempt to serve request as file
        try_files $uri $uri/ ;
    }
    location ~ {

To

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to proxy
        try_files $uri $uri/ @proxy;
    }
    location @proxy {
Have another answer? Share your knowledge.