Como Configurar um Proxy Reverso com Nginx

O Nginx é uma das ferramentas mais populares quando se fala em servidores web de alto desempenho. Além de ser um servidor web, similar ao famoso Apache, ele também pode ser usado como um proxy reverso. Neste post, vamos explorar o que é um proxy reverso, por que você pode querer usá-lo, e como configurá-lo usando o Nginx.

O que é um Proxy Reverso?

Um proxy reverso é um tipo de servidor que recebe solicitações da internet e as encaminha para os servidores internos. Ele age como um intermediário para solicitações dirigidas a um ou mais servidores internos, que podem processar essas solicitações e devolver as respostas ao proxy reverso, que por sua vez as envia de volta ao cliente original.

Por Que Usar um Proxy Reverso?

Os benefícios de utilizar um proxy reverso incluem:

  • Balanceamento de carga: Distribuição das solicitações de clientes entre múltiplos servidores para melhorar a velocidade e a capacidade de resposta.
  • Segurança aprimorada: O proxy reverso pode funcionar como uma camada adicional de defesa contra ataques externos.
  • Gerenciamento de SSL: Centralizar o manejo de certificados SSL/TLS no proxy reverso ao invés de em cada servidor.
  • Cache: Armazenar conteúdo estático, como imagens e scripts, para reduzir a carga nos servidores de aplicação.

Configurando o Proxy Reverso com Nginx

Vamos criar uma configuração básica de proxy reverso. Suponha que você tenha um aplicativo rodando internamente em http://172.31.9.6:3000. Queremos configurar o Nginx para agir como um proxy para este aplicativo.

1) Criar Arquivo de Configuração do Nginx:

Crie um novo arquivo de configuração em /etc/nginx/sites-available/meuapp com o seguinte conteúdo:

map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
}

server {
     listen 80;

     server_name meuapp.com;

     location / {
          proxy_pass http://172.31.9.6:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
     proxy_set_header Host $host;
     proxy_cache_bypass $http_upgrade;
     }
}

2) Ativar o Site:

Faça um link simbólico do arquivo para sites-enabled:

sudo ln -s /etc//sites-available/meuapp /etc/nginx/sites-enabled/

3) Verificar e Recarregar o Nginx:

sudo nginx -t
sudo nginx -s reload 

Conclusão

Agora, todas as solicitações para meuapp.com serão encaminhadas para http://172.31.9.6:3000. O Nginx atua como um intermediário, proporcionando os benefícios mencionados de segurança, gerenciamento de SSL, e mais. Com essa configuração básica, você pode começar a explorar funcionalidades mais avançadas conforme a necessidade de sua aplicação.

Deixe um comentário

O seu endereço de email não será publicado