Como Configurar Proxy Reverso Nginx

No sistema operacional Linux, o Proxy Reverso age como uma ligação entre o host (cliente) e o servidor. Ele pega os pedidos do cliente e os repassa para outros servidores, para finalmente então entregar a resposta do servidor para o cliente. Essa resposta aparece como se fosse originada do próprio servidor proxy. Neste tutorial, vamos mostrar para você o que é um Proxy Reverso Nginx e como configurá-lo no seu serviço VPS!

O cliente e o servidor trocam informações constantemente para trabalhar de maneira eficiente. Tipicamente, os proxies reversos são usados por um servidor web. Um Proxy Reverso ou gateway aparece para o cliente da mesma maneira que um servidor web tradicional, onde não são necessárias configurações especiais. O cliente faz pedidos comuns enquanto o Proxy Reverso decide para onde passar a informação, entregando a saída final para esse cliente como se fosse a origem.

O Proxy Reverso Nginx tem uma grande quantidade de benefícios. Ele está entre os servidores de código abertos mais ativamente usados na internet.

As Vantagens de Usar Proxy Reverso Nginx

Então vamos mergulhar nos motivos que explicam por que essa ferramenta é tão popular:

  • É simples de implementar e proporcionar ao usuário segurança de ponta contra ataques a servidores web como DDoS e DoS
  • O Proxy Reverso Nginx ajuda a criar uma carga equilibrada entre vários servidores back-end e proporciona cache para um servidor back-end mais lento
  • O Nginx não exige a configuração de um novo processo para cada nova solicitação da web vinda do cliente. Ao invés disso, a configuração padrão é para incluir apenas um processo de trabalho por CPU
  • Pode agir como um servidor Proxy Reverso para vários protocolos como HTTP, HTTPS, TCP, UDP, SMTP, IMAP e POP3
  • Ele pode operar mais de 10000 conexões com uma pequena pegada de memória. O Nginx pode operar múltiplos servidores da internet através de um único endereço de IP e entregar cada solicitação para o servidor dentro de uma LAN
  • O Nginx é um dos melhores servidores da web para melhorar o desempenho de conteúdo estático. Adicionalmente, pode ser útil servir conteúdo em cache e executar criptografia SSL para diminuir a carga do servidor
  • Pode ser útil na hora de otimizar conteúdos ao comprimi-los para melhorar o tempo de carregamento
  • O Nginx pode executar experimentos aleatórios ou testes A/B sem posicionar códigos JavaScript nas páginas.

E todos esses benefícios são apenas a ponta do iceberg! Quanto mais você usar o Proxy Reverso Nginx, mais recursos irá descobrir!

Como Configurar um Proxy Reverso com o Nginx?

Importante:

Primeiro — nós precisamos acessar nosso servidor VPS usando SSH. Se você está tendo problemas, confira o tutorial sobre PuTTY!

Segundo — como nós explicaremos mais à frente no tutorial, você já deve ter o servidor web Apache instalado e configurado para esse método funcionar.

Agora, nós iremos configurar o Nginx no front-end de um servidor Apache. Nós escolhemos esse tipo de servidor web porque ele é melhor em lidar com conteúdo dinâmico.

Então, todo o conteúdo estático irá para o Nginx, enquanto o conteúdo dinâmico irá para o Apache. Isso irá melhorar o desempenho ao otimizar a entrega do conteúdo com base no critério de tratamento.

Depois, nós iremos definir o endereço de IP do Servidor Proxy Nginx como 192.x.x.1 e do servidor Apache back-end como 192.x.x.2. Depois de configurar, nós podemos seguir esses passos:

1. Instale o Nginx

Para isso, nós usaremos o comando apt no Ubuntu 18.04:

sudo apt-get update
sudo apt-get install nginx

2. Desabilite o Default Virtual Host

Assim que você tiver instalado o Nginx, siga o comando abaixo para desabilitar virtual host:

sudo unlink /etc/nginx/sites-enabled/default

3. Crie o Proxy Reverso Nginx

Depois de desabilitar o virtual host, nós precisamos criar um arquivo chamado reverse-proxy.conf dentro do diretório etc/nginx/sites-available para manter a informação do proxy reverso.

Para isso, nós primeiro temos que acessar o diretório usando o comando cd:

cd etc/nginx/sites-available/

Então, nós podemos criar o arquivo usando o editor vi:

vi reverse-proxy.conf

No arquivo, você precisa colar esses seguintes strings:

server {

    listen 80;

    location / {

        proxy_pass http://192.x.x.2;

    }

}

No comando acima, o ponto a ser considerado é o “proxy pass”, que está permitindo que as solicitações vindas do Proxy Reverso Nginx passem para o 192.x.x.2:80, que é o socket Apache remoto. Assim ambos os servidores web — Nginx e Apache — irão compartilhar o conteúdo.

Assim que o processo estiver completo, simplesmente salve o arquivo e saia do editor vi. Você pode fazer isso ao digitar :wq.

Para passar a informação aos outros servidores, você pode usar o ngx_http_proxy_module no terminal.

Agora, ative as diretrizes ao linkar para /sites-enabled/ usando o seguinte comando:

sudo ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

4. Teste o Nginx o Proxy Reverso Nginx

Finalmente, nós precisamos rodar um teste de configuração e reiniciar o Nginx para checar o seu desempenho. Escreva o comando abaixo para verificar o funcionamento do Nginx no terminal Linux:

service nginx configtest
service nginx restart

Lembre-se, se um de seus testes falhou, isso muito provavelmente indica que o Apache não foi configurado adequadamente.

Dica

As melhores VPS são as que têm servidores brasileiros para hospedar seu servidor Linux e garantir o melhor desempenho. Você encontra elas aqui na Hostinger com ótimos preços!

Conclusão

Existem muitos benefícios de configurar um Proxy Reverso Nginx no sistema operacional Linux. Afinal, isso pode efetivamente aumentar o desempenho e melhorar a segurança contra malware. A configuração do Proxy Reverso Nginx é um processo simples no terminal Linux. Apesar de existir uma infinidade de maneiras de instalar e configurar isso — que dependem completamente dos seus requisitos — o tutorial acima traz uma maneira simples, direta e sem complicações de ajudá-lo a começar com o setup do proxy reverso.

Author
O autor

Carlos E.

Carlos Estrella é formado em jornalismo pela UFSC e tem as funções de redator, tradutor e SEO na Hostinger Brasil. Já trabalhou com jornalismo de games e tecnologia e hoje aplica essa experiência escrevendo posts e tutoriais no blog da Hostinger. Suas paixões incluem games, dar rolês com a namorada e amigos e ler artigos aleatórios da Wikipédia de madrugada.