Proxy Reverso com Nginx
No sistema operacional Linux, um Proxy Reverso atua como um link entre o host (cliente) e o servidor.
Ele recebe as solicitações do cliente e as passa para outros servidores e, finalmente, entrega a resposta do servidor ao cliente, parecendo ter se originado do próprio servidor proxy.
Neste tutorial, mostraremos o que é um proxy reverso Nginx e como configurá-lo em seu Servidor de origem !
O cliente e o servidor trocam informações continuamente para trabalhar com eficiência. Normalmente, os proxies reversos são usados por um servidor web. Um proxy reverso ou gateway aparece para o cliente como um servidor web comum, onde nenhuma configuração especial é necessária. O cliente faz requisições ordinárias enquanto o proxy reverso decide para onde passar a informação entregando a saída final ao cliente como se fosse a origem.
O proxy reverso Nginx tem uma ampla gama de benefícios. Está entre os servidores de código aberto mais usados na Internet.
As vantagens de usar o proxy reverso Nginx
Vamos nos aprofundar nos motivos que explicam por que essa ferramenta é tão popular:
- É simples de implementar e fornece ao usuário segurança de ponta contra ataques de servidor Web, como DDoS e DoS
- O proxy reverso Nginx ajuda a criar uma carga balanceada entre vários servidores de back-end e fornece cache para um servidor de back-end mais lento
- O Nginx não requer a configuração de um novo processo para cada solicitação da Web do cliente. Em vez disso, a configuração padrão é incluir um processo de trabalho por CPU
- Ele pode atuar como um servidor proxy reverso para vários protocolos, como HTTP, HTTPS, TCP, UDP, SMTP, IMAP e POP3
- Ele pode lidar com mais de 10.000 conexões com baixo consumo de memória.
- O Nginx pode operar vários servidores da Web por meio de um único endereço IP e entregar cada solicitação ao servidor certo em uma LAN
- O Nginx é um dos melhores servidores da Web para melhorar o desempenho do conteúdo estático. Além disso, também pode ser útil servir o conteúdo do cache e executar a criptografia SSL para diminuir a carga do servidor da web
- Também pode ser útil ao otimizar o conteúdo, compactando-o para aumentar o tempo de carregamento
- O Nginx pode realizar experimentos aleatórios ou testes A/B sem colocar códigos JavaScript nas páginas.
E todos esses benefícios são apenas a ponta do iceberg! Quanto mais você usar o Nginx Reverse Proxy, mais recursos você descobrirá!
Como configurar um proxy reverso Nginx?
Agora, vamos configurar o Nginx na frente de um servidor web Apache. Escolhemos o servidor Apache porque é melhor para lidar com conteúdo dinâmico.
Assim, todo o conteúdo estático irá para o Nginx, enquanto o conteúdo dinâmico irá para o Apache. Isso melhorará o desempenho otimizando a entrega de conteúdo com base nos critérios de tratamento.
Em seguida, definiremos o endereço IP do Nginx Proxy Server como 192.xx1 e o servidor Apache de back-end como 192.xx2 . Depois de configurar o Apache, podemos seguir para estas etapas:
1. Instale o Nginx
Estaremos usando o comando apt no Ubuntu 18.04:
sudo apt-get update
sudo apt-get install nginx
2. Desative o host virtual padrão
Depois de instalar o Nginx, siga o comando abaixo para desativar o host virtual:
sudo unlink /etc/nginx/sites-enabled/default
3. Crie o proxy reverso Nginx
Depois de desabilitar o host virtual, precisamos criar um arquivo chamado reverse-proxy.conf dentro do diretório etc/nginx/ sites-available para manter as informações do proxy reverso.
Para isso, devemos primeiro acessar o diretório usando o comando cd:
cd etc/nginx/seusite/
Então podemos criar o arquivo usando o editor vi:
vi reverse-proxy.conf
No arquivo, precisamos colar essas strings:
server {
listen 80;
location / {
proxy_pass http://192.x.x.2;
}
}
No comando acima, o ponto importante é que a passagem do proxy permite que as solicitações provenientes do proxy reverso do Nginx passem para 192.xx2:80 , que é o soquete remoto do Apache. Assim, ambos os servidores web – Nginx e Apache, compartilham o conteúdo.
Depois de concluído, basta salvar o arquivo e sair do editor vi. Você pode fazer isso digitando :wq .
Para passar informações para outros servidores, você pode usar o ngx_http_proxy_module no terminal.
Agora, ative as diretivas vinculando-as a /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 e o proxy reverso do Nginx
Por fim, precisamos executar um teste de configuração do Nginx e reiniciar o Nginx para verificar seu desempenho. Digite o comando abaixo para verificar o funcionamento do Nginx no terminal Linux:
services nginx configtest
reinicialização do serviço nginx
Lembre-se, se você receber um teste com falha, isso provavelmente indica que o Apache não foi configurado corretamente.
Seu servidor de hospedagem virtual, suas regras. Obtenha todos os recursos necessários para o seu próximo projeto.
Conclusão
Há muitos benefícios em configurar um proxy reverso Nginx no sistema operacional Linux. Ele pode efetivamente aumentar o desempenho e aumentar a segurança contra malware. A configuração do proxy reverso Nginx é um processo simples em um terminal Linux. Embora haja uma infinidade de maneiras de instalá-lo e configurá-lo, que dependem completamente de sua necessidade, o tutorial acima é simples e direto para ajudá-lo a começar com uma configuração de proxy reverso.
Mais materiais você pode consultar o site do NGINX que tem uma infinidade de material mais tecnico para sua finalidade ou projeto.
Veja aqui Nginx
Espero que eu tenha ajudado.
Último vídeo
Novidades via inbox
Fique por dentro no meu Boletim digital toda semana um conteúdo novo