Um reverse proxy é a peça de infraestrutura mais útil para uma configuração de self-hosting a sério. Permite correr várias aplicações atrás de um único servidor, direcionar cada uma para o seu próprio domínio ou subdomínio, e terminar o HTTPS num único local. Este guia explica o que faz um reverse proxy e mostra como configurar um num VPS.
O Que É um Reverse Proxy?
Um reverse proxy fica à frente das suas aplicações auto-hospedadas e encaminha os pedidos recebidos para o serviço de back-end certo, com base no domínio ou no caminho. Em vez de expor cada aplicação numa porta diferente, aponta todos os seus domínios para o proxy, e este trata do encaminhamento e dos certificados TLS. Isto dá-lhe URLs limpos, HTTPS centralizado e um único local para aplicar regras de segurança.
Porque os Self-Hosters Precisam de Um
Correr vários serviços, como um servidor de media, um dashboard e um servidor git, torna-se rapidamente confuso sem um proxy. Um reverse proxy resolve vários problemas de uma vez:
- Mapeia domínios amigáveis como app.example.com para serviços internos.
- Gere certificados TLS automaticamente, para que cada serviço tenha HTTPS.
- Esconde as portas internas da internet pública.
- Centraliza o controlo de acesso, a limitação de taxa e os registos.
Como Escolher o Seu Reverse Proxy
Existem várias opções sólidas, e todas correm bem num VPS modesto:
- Nginx Proxy Manager oferece uma interface web simples e certificados automáticos, ideal para principiantes. Veja o nosso guia melhor VPS para o Nginx Proxy Manager.
- Traefik é dinâmico e nativo para contentores, descobrindo serviços automaticamente através de labels do Docker. Veja o nosso guia melhor VPS para o Traefik.
- Caddy é um servidor leve com HTTPS automático incorporado e um ficheiro de configuração muito simples.
Configuração Passo a Passo
Os passos seguintes usam o Docker, o que mantém o proxy e as suas aplicações isolados e fáceis de gerir.
- Crie um VPS com uma versão atual do Ubuntu ou Debian LTS e acesso root completo.
- Aponte os registos A de DNS do seu domínio para o endereço IP público do VPS, incluindo quaisquer subdomínios que planeie usar.
- Instale o Docker e o plugin Docker Compose.
- Crie uma rede Docker dedicada para que o proxy e as suas aplicações comuniquem pelo nome do contentor.
- Implemente o contentor do reverse proxy escolhido e associe-o a essa rede, publicando as portas 80 e 443.
- Configure uma primeira rota: associe um subdomínio a um serviço de back-end e à sua porta interna.
- Ative o TLS automático para que o proxy peça e renove certificados para cada domínio.
- Teste a rota via HTTPS e depois adicione os restantes serviços, um de cada vez.
Especificações de VPS Recomendadas
Um reverse proxy em si é muito leve e precisa de recursos mínimos. O tamanho certo depende das aplicações atrás dele. Uma base de 1 vCPU e 2 GB de RAM corre confortavelmente um proxy mais um punhado de serviços pequenos. Se alojar aplicações mais pesadas, como um servidor de media ou várias bases de dados, suba para 2 vCPU e 4 GB de RAM ou mais.
Escolha recomendada: qualquer VPS pequeno e fiável trata de um reverse proxy sem dificuldade. Para um servidor económico e fiável que sirva de base à sua stack, compare opções na nossa classificação de melhores VPS económicos.
Problemas Comuns
- As alterações de DNS demoram tempo a propagar. Aguarde que os registos se resolvam antes de pedir certificados.
- A emissão de certificados falha se as portas 80 e 443 não estiverem acessíveis a partir da internet. Verifique as regras da firewall.
- Mantenha o proxy e as aplicações de back-end na mesma rede Docker para que se identifiquem pelo nome.
- Não se esqueça de renovar ou automatizar a renovação de certificados. A maioria dos proxies modernos trata disto automaticamente depois de configurado.
Perguntas Frequentes
Preciso de um reverse proxy para uma única aplicação?
Não é estritamente necessário, mas ainda vale a pena. Mesmo para uma única aplicação, um reverse proxy dá-lhe HTTPS automático, um domínio limpo em vez de um IP e uma porta, e um local para adicionar controlos de acesso. Também torna trivial adicionar um segundo serviço mais tarde, por isso a maioria de quem faz self-hosting configura um logo de início.
Qual é o melhor reverse proxy para principiantes?
O Nginx Proxy Manager é o ponto de partida mais amigável porque fornece uma interface web para adicionar domínios e certificados sem editar ficheiros de configuração. O Traefik é excelente assim que estiver confortável com labels do Docker, e o Caddy oferece a configuração de texto mais simples. Os três correm bem num VPS pequeno.
Posso correr o reverse proxy no mesmo VPS que as minhas aplicações?
Sim, e essa é a configuração mais comum. O proxy e as suas aplicações partilham um VPS e comunicam através de uma rede Docker. Isto mantém tudo num só local e permite que o proxy alcance cada back-end pelo nome do contentor. Só as implementações grandes ou de tráfego elevado costumam separar o proxy para o seu próprio servidor.
Para mais informação sobre como proteger a sua configuração, veja o nosso guia de reforço de segurança do VPS, e para certificados especificamente, o nosso guia de domínio e SSL.