Como Configurar Proxy Reverso Nginx

Você está aqui:

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 Nginxe como configurá-lo no seu 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?

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.

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.

Was this article helpful?
Dislike 0