Como configurar um reverse proxy com Nginx

Um reverse proxy com Nginx permite servir multiplas aplicacoes web em um unico servidor, cada uma com seu proprio dominio ou subdominio.

Instalar Nginx

sudo apt update
sudo apt install nginx

Configuracao basica de proxy

Crie um arquivo de configuracao em /etc/nginx/sites-available/:

server {
    listen 80;
    server_name app.seudominio.com;

    location / {
        proxy_pass http://localhost:3000;
        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;
    }
}

Ativar o site

sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Adicionar SSL com Let's Encrypt

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.seudominio.com

Suporte WebSocket

Para aplicacoes que usam WebSockets, adicione estas diretivas ao bloco location:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Um VPS da HostValues e perfeito para executar Nginx como reverse proxy.

Ainda com duvidas? Abra um ticket de suporte e nossa equipe vai te ajudar.

Voltar ao blog