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.