Configurando o proxy reverso nginx na frente do Apache

Configurando o proxy reverso nginx na frente do Apache

Em um site de alto tráfego, é essencial garantir que o servidor da web possa lidar com um grande número de solicitações sem causar sobrecarga do servidor ou desempenho ruim. Uma maneira de conseguir isso é usar um servidor proxy reverso na frente do servidor da web. Um servidor proxy reverso, como o NGINX, pode lidar com solicitações dos clientes e encaminhá -los para o servidor da web, descarregando parte do trabalho e melhorando o desempenho.

Neste artigo, discutiremos como configurar o NGINX como um proxy reverso na frente do Apache para otimizar sites de alto tráfego.

Etapa 1: Instalando o nginx

A primeira etapa na configuração do NGINX como proxy reversa é instalá -lo no seu servidor. Você pode instalar o Nginx usando o APT Package Manager no Ubuntu executando o seguinte comando:

sudo apt update && apt install nginx  

Depois que a instalação estiver concluída, você pode iniciar o serviço Nginx executando o seguinte comando:

sudo systemctl reiniciar nginx.serviço  

Etapa 2: Configurando o nginx como um proxy reverso

Depois de instalar o Nginx, você precisa configurá -lo como um proxy reverso. Você pode fazer isso criando um novo arquivo de configuração no /etc/nginx/conf.d/ diretório. Por exemplo, você pode criar um novo arquivo chamado Proxi reverso.conf:

sudo nano/etc/nginx/conf.D/Proxi reverso.conf  

Adicione a seguinte configuração:

servidor ouça 80; Exemplo server_name.com; Localização/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x forwarded para $ proxy_add_x_forwarded_for;
12345678910servidor ouça 80; Exemplo server_name.com; Localização/proxy_pass http: // 127.0.0.1: 8080; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; proxy_set_header x forwarded para $ proxy_add_x_forwarded_for;

Esta configuração diz ao Nginx para ouvir na porta 80 e solicitações de encaminhamento para o servidor Apache em execução na porta 8080. O proxy_set_header As diretrizes são usadas para transmitir ao longo do host, endereço IP e outras informações do cliente para o servidor Apache.

Etapa 3: Configurando o Apache

Depois de configurar o Nginx como um proxy reverso, você precisa configurar o Apache para trabalhar com ele. O Apache será executado como um servidor web de back-end em uma porta não padrão. Você pode fazer isso editando o arquivo de configuração do Apache, localizado em /etc/apache2/portas.conf, e adicionando as seguintes linhas:

Ouça 8080
1Ouça 8080

Substitua 80 pela nova porta 8080. Isso diz a Apache para ouvir na porta 8080 e aceitar solicitações de qualquer endereço IP. Depois disso, vincule a configuração do host virtual com esta porta.

Exemplo de nome do servidor.com serveradmin [email protected] documentroot/var/www/allowoverride All ErrorLog/var/Log/Apache2/Error_log CustomLog/var/Log/Apache2/Access_log Combinado
12345678910 Exemplo de nome do servidor.com serveradmin [email protected] documentroot/var/www/ Allowoverride tudo ErrorLog/var/log/apache2/error_log customLog/var/log/apache2/access_log combinado

Caso o 8080 já esteja usado por outro serviço, escolha qualquer outra porta e atualize o bloco do servidor nginx de acordo.

Etapa 4: Ativando mod_rpaf

Quando você verifica os arquivos de log do Apache, você obterá seu endereço IP, pois as solicitações estão sendo proxies do servidor local. Para identificar corretamente os endereços IP dos clientes que fazem solicitações, você deve ativar o módulo MOD_RPAF no Apache. Este módulo permite que o Apache interprete corretamente o X-real-ip e X-forwarded for Cabeçalhos definidos por nginx.

Para instalar e habilitar mod_rpaf, Execute os seguintes comandos:

 sudo apt-get install libapache2-mod-rpaf 

O comando acima também permitirá o módulo.

Etapa 5: testando a configuração

Depois de configurar o Nginx e o Apache reiniciar os dois serviços para aplicar alterações.

sudo systemctl reiniciar nginx.serviço  sudo systemctl reiniciar apache2.serviço  

Depois de reafirmar os serviços, você deve testar a configuração para garantir que tudo esteja funcionando corretamente. Você pode fazer isso acessando seu site usando um navegador da web e verificando se o conteúdo é exibido corretamente. Você também pode verificar os logs do NGINX e do Apache para garantir que não haja erros ou problemas.

Conclusão

Em conclusão, a configuração do NGINX como um proxy reverso na frente do Apache pode melhorar bastante o desempenho e a escalabilidade de sites de alto tráfego. Ao descarregar parte do trabalho do servidor da web para o servidor proxy reverso, você pode reduzir o risco de sobrecarga do servidor e melhorar a experiência geral do usuário. Seguindo as etapas descritas neste artigo, você pode instalar e configurar o nginx e o Apache para trabalhar juntos como um proxy reverso e otimizar seu site de alto tráfego. É importante monitorar regularmente o desempenho do seu servidor e ajustar suas configurações conforme necessário para garantir o desempenho e a estabilidade ideais.