Como servir sua aplicação nodejs via o nginx (proxy-reverso)

Como servir sua aplicação nodejs via o nginx (proxy-reverso)

Se você quer usar o nginx como um proxy-reverso em sua aplicação nodejs, você pode configurar o seu servidor da seguinte forma:

server {
    listen 80 default_server;
    server_name _;

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:3000; #porta da sua aplicação express/nodejs
  }
}

Você deve fazer essa configuração, em uma instalação padrão do nginx, no arquivo: /etc/nginx/sites-available/default

Após fazer esta configuração, verifique se não existem erros no script.

sudo nginx -t

O  resultado esperado da execução deste comando deve ser:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Após verificar que não existem erros no script, basta reiniciar o nginx, para que as mudanças efetuadas sejam refletidas no ambiente.

sudo nginx -s reload

Após executar este comando você pode acessar o o seu browser o endereço:

http://localhost

Ao fazer isso você deve exergar o que estava sendo servido na porta 3000 em seu localhost.

Ao parar a aplicação nodejs você vai ver uma mensagem de erro padrão do nginx, o erro 502.

Se ficou em dúvida consulte a documentação.