Como Configurar Nginx como Reverse Proxy para Aplicações Docker
O Nginx é uma das ferramentas mais populares para atuar como reverse proxy, permitindo que você redirecione o tráfego para suas aplicações Docker de forma eficiente e segura.
No cenário de ambientes Dockerizados, é comum precisar de um proxy reverso para gerenciar múltiplas aplicações que estão rodando em containers. O Nginx facilita essa configuração com suas funcionalidades robustas de balanceamento de carga, segurança e gerenciamento de tráfego.
A seguir, explicaremos passo a passo como configurar o Nginx como reverse proxy para suas aplicações Docker. Vamos também considerar o uso de Docker Compose para orquestrar os containers, proporcionando uma configuração mais limpa e fácil de gerenciar.
Pré-requisitos
- Docker e Docker Compose instalados na máquina.
- Nginx instalado ou configurado em um container.
- Ter uma aplicação Docker em funcionamento que você deseja expor por meio do Nginx.
Passo 1: Configuração do Nginx como Proxy Reverso
Primeiro, criaremos um arquivo de configuração para o Nginx, que indicará ao servidor para qual aplicação ele deve redirecionar o tráfego.
Crie o arquivo de configuração do Nginx:
sudo nano /etc/nginx/sites-available/reverse-proxy.conf
Dentro desse arquivo, adicione a configuração do proxy para sua aplicação Docker. Supondo que você tenha um container com a aplicação rodando localhost na porta 8000, domain exemplo.com. O arquivo deve conter:
server {
listen 80;
server_name exemplo.com; # Substitua pelo seu domínio ou IP
location / {
proxy_pass http://localhost:8000; # Endereço do container e porta
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;
}
}
Passo 2: Testando a Configuração do Nginx
Depois de configurar o arquivo, verifique se a sintaxe do Nginx está correta:
sudo nginx -t
Se tudo estiver correto, recarregue o Nginx para aplicar as mudanças:
sudo systemctl reload nginx
Agora, o Nginx está configurado para redirecionar as requisições para o container Docker que está rodando na porta 8000.
Publicar comentário