Como configurar um proxy reverso com Nginx na frente do Apache imprimir

  • 0

Reverse Proxy com Nginx na frente do Apache: seu site rápido, seguro e sem dor de cabeça

Oi! Aqui é a Sensei da GeHost 🧘‍♀️ Hoje vamos falar de um tema que costuma assustar só pelo nome, mas que — prometo — faz muito mais sentido do que parece. Vamos entender o que é um proxy reverso, por que colocar o Nginx na frente do Apache é uma combinação tão querida por quem cuida de servidores, e como configurar isso passo a passo.

Antes de mais nada: essa configuração mexe direto no servidor (arquivos de sistema, portas, serviços) e exige acesso root/administrador via SSH. Ela é para ambientes de VPS ou servidor dedicado. Se o seu plano é hospedagem compartilhada (cPanel), esse tipo de ajuste normalmente não está disponível para o cliente configurar diretamente — nesse caso, é só chamar o suporte da GeHost ou consultar o painel.gehost.com.br para confirmar o que está incluso no seu contrato. 💛

1. Afinal, o que é um proxy reverso?

Pensa assim: o Nginx vira o "recepcionista" do seu servidor. Toda visita que chega (via porta 80/443) passa primeiro por ele. O Nginx decide o que fazer com aquela requisição e, no nosso caso, entrega ela para o Apache, que continua processando as páginas normalmente nos bastidores. O visitante nem percebe — ele só sente o site mais rápido e mais estável.

2. Por que juntar Nginx + Apache?

  • Performance: o Nginx é excelente em lidar com muitas conexões simultâneas e servir arquivos estáticos (imagens, CSS, JS) rapidinho.
  • Compatibilidade: o Apache continua cuidando de tudo que ele já faz bem, como arquivos .htaccess e módulos específicos de algumas aplicações.
  • Segurança: o Nginx na frente funciona como uma camada extra de proteção, filtrando requisições antes delas chegarem ao Apache.
  • SSL centralizado: você pode gerenciar os certificados em um único lugar (o Nginx), simplificando a manutenção.

3. Pré-requisitos

  1. Um servidor VPS ou dedicado com acesso root via SSH.
  2. Apache já instalado e funcionando com seu site.
  3. Um pouco de paciência e café ☕ — vamos com calma!

4. Passo a passo da configuração

Passo 1 — Instalar o Nginx

Via terminal, com o pacote correspondente à distribuição do seu servidor (por exemplo, apt em sistemas baseados em Debian/Ubuntu ou yum/dnf em sistemas baseados em RHEL/CentOS). Se tiver dúvida sobre qual comando usar no seu servidor, fale com o suporte antes de prosseguir.

Passo 2 — Mudar a porta do Apache

Como o Nginx vai "tomar conta" das portas 80 (HTTP) e 443 (HTTPS), o Apache precisa passar a escutar em outra porta interna, normalmente a 8080. Isso é feito no arquivo de configuração de portas do Apache, trocando a porta de escuta de 80 para 8080 — e ajustando também o VirtualHost do seu site para usar essa nova porta.

Passo 3 — Criar o bloco de configuração do Nginx

Agora criamos um arquivo de configuração do site no Nginx, dizendo a ele: "tudo que chegar para este domínio, repasse para o Apache na porta 8080". A ideia central é um bloco server com a diretiva proxy_pass apontando para http://127.0.0.1:8080.

Dica da Sensei: inclua também os cabeçalhos proxy_set_header (como Host, X-Real-IP e X-Forwarded-For) na configuração do Nginx. Sem eles, o Apache pode "achar" que todas as visitas vêm do próprio servidor, e isso bagunça estatísticas e logs.

Passo 4 — Testar a configuração antes de aplicar

Todo bom administrador testa antes de reiniciar. O Nginx tem um comando de teste de sintaxe que avisa se algo está errado no arquivo antes de você recarregar o serviço — assim você evita deixar o site fora do ar por um erro de digitação.

Passo 5 — Reiniciar os serviços

Com tudo certo, reinicie primeiro o Apache (para ele assumir a nova porta) e depois o Nginx (para ele assumir as portas 80/443). A ordem ajuda a evitar conflitos de porta durante a troca.

Passo 6 — Validar no navegador

Acesse seu domínio normalmente. Se tudo deu certo, o site carrega igualzinho a antes — só que agora passando pelo Nginx. Você pode conferir os logs de acesso do Nginx para confirmar que as requisições estão passando por ele.

5. E o certificado SSL?

Com o Nginx na frente, o mais comum é que ele seja o responsável por "terminar" o SSL, ou seja, apresentar o certificado ao visitante e depois conversar com o Apache internamente sem criptografia (já que essa conversa fica só dentro do próprio servidor). Isso simplifica bastante a renovação e gestão de certificados.

6. Problemas comuns (e como respirar fundo)

  • Erro "Address already in use": geralmente significa que o Apache ainda está escutando na porta 80. Confira se a mudança de porta do Passo 2 foi salva e se o Apache foi reiniciado.
  • Site carrega, mas sem estilos/imagens: normalmente é caminho de arquivo estático mal configurado no bloco do Nginx — revise a diretiva de proxy.
  • IP do visitante aparece errado nos logs do Apache: volte ao Passo 3 e confira os cabeçalhos proxy_set_header.

7. Precisa de uma mãozinha?

Sei que parece muita coisa de uma vez só, e tudo bem se você preferir não mexer sozinho nisso — mudanças no servidor merecem cuidado. Nossa equipe de suporte está à disposição para ajudar durante o período de suporte gratuito após a entrega, e você também pode acompanhar o que está incluso no seu plano pelo painel.gehost.com.br. Estamos aqui torcendo pelo seu projeto! 🌱


Esta resposta lhe foi útil?

« Retornar