Caddy: o servidor web moderno que você (ainda) subestima
Se você, como eu, é um dev que passou anos configurando Nginx ou HAProxy na unha, esculpindo blocos de configuração com lágrimas e systemctl restart, talvez esteja na hora de conhecer — de verdade — o Caddy.
E não, Caddy não é apenas "mais um servidor HTTP". Ele é, no fundo, um servidor que repensa como lidamos com tráfego web, certificados TLS, proxies reversos e... sanidade mental.
O que é o Caddy?
Caddy é um servidor web e reverse proxy open source, escrito em Go, com foco em simplicidade, segurança e automação. Seu maior trunfo? HTTPS automático por padrão. Sem scripts, sem Let's Encrypt manual, sem cron job.
Você sobe um site ou um serviço, aponta o domínio, e ele já está acessível com certificado válido. Só isso já poupa horas (ou dias) de configuração.
Por que ele me conquistou?
Eu sempre fui do time que preferia "ter o controle total". Customização ao extremo. Mas quanto mais minha stack crescia (e eu envelhecia), menos paciência eu tinha pra lidar com arquivos cheios de ifs, map, regex malditas e reloads arriscados.
Quando experimentei o Caddy num projeto pessoal, percebi que a configuração era quase poética:
example.com {
reverse_proxy localhost:3000
}
Sim. Isso é tudo. E com isso você tem HTTPS, log, roteamento... sem inventar moda.
Principais recursos que fazem diferença no dia a dia:
- HTTPS automático e renovação automática (via ACME/Let's Encrypt)
- Reverse proxy simples e poderoso (com suporte a load balancing, rewrites, headers, etc.)
- Hot reload sem downtime
- Configuração por Caddyfile ou JSON (ideal pra automação)
- Plugins modulares e fácil extensão
- Web server estático com cache e compressão embutidos
- Suporte a HTTP/2, HTTP/3 e gRPC
Quando o Caddy brilha mais?
- APIs e microsserviços que vivem mudando
- Sites estáticos com HTTPS out-of-the-box
- Ambientes locais e staging com domínios reais (via DNS challenge)
- Infraestrutura que precisa ser simples de manter
Quando ele pode não ser ideal?
- Se você precisa de regras muito complexas e específicas de roteamento baseadas em IP, GeoIP, ou regex avançadas.
- Em alguns cenários Kubernetes muito específicos, onde ingress controllers como Traefik ou NGINX já têm maior suporte da comunidade.
Conclusão de um dev sênior cansado de sofrer
Caddy não veio para substituir tudo, nem todo mundo. Mas se você quer algo que simplesmente funcione, que reduza atrito, bugs e boletos de terapia, ele merece sua atenção.
Comece com um projeto pequeno. Veja o que acontece. Foi o que eu fiz. Hoje, sempre que posso, deixo o Caddy ser meu porteiro — e ele faz isso com elegância.
Postado por um dev sênior que já perdeu dias da vida brigando com o Nginx, mas agora prefere ter paz.