Como configurar o Nginx como proxy reverso na frente do Apache imprimir

  • 0

Nginx na frente do Apache: o que é e por que isso ajuda seu site

Oi! Aqui é a Sensei da GeHost 🧘‍♀️ Hoje vamos falar de um assunto que parece assustador de primeira vista, mas que, explicado com calma, faz todo sentido: colocar o Nginx como "porteiro" na frente do Apache.

Pensa assim: o Apache é aquele funcionário caprichoso que sabe processar de tudo (PHP, .htaccess, configurações complexas), mas fica meio lento quando muita gente chega ao mesmo tempo. O Nginx é o recepcionista rápido e enxuto: ele recebe todas as visitas primeiro, resolve sozinho o que for simples (como servir uma imagem ou um arquivo estático) e só encaminha pro Apache aquilo que realmente precisa do processamento dele. Esse arranjo se chama proxy reverso.

Essa configuração é feita no servidor (em ambientes com acesso completo, como VPS ou servidor dedicado), não dentro do cPanel. Se você usa hospedagem compartilhada, esse tipo de ajuste geralmente não se aplica ao seu plano — nesse caso, fale com o suporte pra entender o que é possível no seu caso.

Por que vale a pena?

  • Mais velocidade para arquivos estáticos (imagens, CSS, JS), que o Nginx entrega sozinho, sem incomodar o Apache.
  • Menos consumo de memória em picos de acesso, já que o Nginx lida melhor com muitas conexões simultâneas.
  • Você continua usando tudo que já configurou no Apache (como .htaccess) para as partes dinâmicas do site.

Antes de começar: o que você vai precisar

  1. Acesso root (ou sudo) ao servidor via terminal (SSH).
  2. O Apache já instalado e funcionando com o seu site.
  3. Um pouquinho de paciência — vamos fazer isso em etapas curtas, sem pular nada.

Dica de ouro: antes de mexer em qualquer configuração de servidor, faça um backup. Se seu ambiente tiver essa rotina disponível, é sempre mais tranquilo testar sabendo que dá pra voltar atrás.

Passo a passo

1. Instale o Nginx

Com o terminal aberto no servidor, instale o Nginx pelo gerenciador de pacotes da sua distribuição Linux (por exemplo, apt em sistemas baseados em Debian/Ubuntu, ou yum/dnf em sistemas baseados em RHEL/CentOS). Não inicie o serviço ainda — vamos primeiro arrumar a casa do Apache.

2. Faça o Apache "dar um passo pro lado"

Como o Nginx vai assumir a porta 80 (a porta padrão de acesso web) e, se você usa HTTPS, também a 443, o Apache precisa passar a escutar em outra porta interna — normalmente algo como 8080.

  1. Abra o arquivo de configuração de portas do Apache.
  2. Troque a porta de escuta de 80 para 8080 (e, se tiver SSL configurado direto no Apache, ajuste também a porta HTTPS interna).
  3. Atualize o(s) VirtualHost do seu site para refletir essa nova porta.
  4. Reinicie o Apache para aplicar a mudança.
Se essa etapa der algum erro, respire fundo: geralmente é só uma porta que ficou "presa" na configuração antiga. Revise o arquivo com calma antes de reiniciar de novo.

3. Crie a configuração do Nginx como proxy reverso

Agora é a parte principal: você vai criar um arquivo de configuração do Nginx dizendo "tudo que chegar na porta 80 (ou 443), me repassa pro Apache, que está escutando na porta interna 8080".

  1. Crie um novo arquivo de configuração para o seu site na pasta de sites do Nginx.
  2. Configure o bloco server para escutar na porta 80, com o server_name apontando para o domínio do seu site.
  3. Dentro dele, use um bloco location / com a diretiva proxy_pass apontando para o endereço interno do Apache (por exemplo, http://127.0.0.1:8080).
  4. Inclua também os cabeçalhos de proxy recomendados (como proxy_set_header Host, X-Real-IP e X-Forwarded-For), para que o Apache continue "enxergando" corretamente o visitante original.

4. Ative o site no Nginx e teste a configuração

  1. Habilite o arquivo de configuração criado (em algumas distribuições isso é feito criando um link simbólico para a pasta de sites ativos).
  2. Rode o comando de teste de sintaxe do Nginx antes de reiniciar qualquer serviço — ele avisa se algo está escrito errado.
  3. Só depois de o teste vir "ok", reinicie (ou inicie) o Nginx.
Nunca pule o teste de sintaxe! É a rede de segurança que evita que seu site fique fora do ar por causa de uma vírgula ou chave esquecida.

5. Confira se está tudo redondo

  • Acesse seu domínio pelo navegador e veja se o site carrega normalmente.
  • Verifique se páginas dinâmicas (que dependem do Apache/PHP) continuam funcionando.
  • Se usar HTTPS, confirme se o certificado está sendo servido corretamente pelo Nginx.
  • Consulte os logs do Nginx e do Apache caso algo pareça estranho — eles costumam apontar exatamente onde está o problema.

Cuidados importantes

  • Firewall: garanta que a porta interna do Apache (ex.: 8080) não fique acessível diretamente de fora, só pelo próprio servidor. Quem deve responder na internet é sempre o Nginx.
  • Logs de visitante real: sem os cabeçalhos de proxy configurados corretamente no passo 3, o Apache pode registrar todos os acessos como vindos do próprio servidor, em vez do IP real do visitante.
  • Aplicações com regras específicas: se seu site usa algum sistema (CMS, framework) que verifica o protocolo (HTTP/HTTPS) ou o domínio, pode ser necessário ajustar essas configurações para reconhecer que ele está atrás de um proxy.

Precisa de uma mãozinha?

Sei que essa é uma configuração mais avançada e, se qualquer passo te deixar em dúvida, o time de suporte da GeHost está por perto para ajudar dentro do prazo de suporte gratuito da sua entrega, ou você pode consultar as condições do seu plano no painel do cliente. Você não precisa resolver tudo sozinho(a)! 💛


Esta resposta lhe foi útil?

« Retornar