Buscar

Ferramentas

Caddy

Servidor web open source escrito em Go que ativa HTTPS sozinho, faz proxy reverso e serve arquivos com uma configuração curta.

  • DevOps e Infraestrutura
  • Self-hosted
Caddy

Configurar certificado TLS costuma ser a parte chata de publicar um site. O Caddy resolve isso de saída: é um servidor web em Go que pede e renova certificados sozinho, via Let's Encrypt ou ZeroSSL, para todo domínio que você configurar. Ele roda como um único executável, sem dependências externas.

Para que serve

  • Servir sites com HTTPS automático, inclusive para nomes internos e IPs, com uma autoridade certificadora local.
  • Fazer proxy reverso na frente de uma aplicação ou API que roda em outra porta.
  • Servir arquivos estáticos e sites PHP pelo FrankenPHP.
  • Mudar a configuração com o servidor no ar, pela API JSON de administração.

O Caddy fala HTTP/1.1, HTTP/2 e HTTP/3 por padrão.

Como começar

Baixe o executável na página de releases do GitHub e coloque-o no PATH. O site oficial lista outros métodos de instalação. Com ele instalado, um proxy reverso cabe numa linha:

caddy reverse-proxy --from :2080 --to :9000

O mesmo resultado num Caddyfile, o formato de configuração mais simples do projeto:

:2080

reverse_proxy :9000

Quem precisa de plugins compila uma versão própria com o xcaddy build. Para compilar do código-fonte, o README pede Go 1.26.0 ou mais novo.

Licença e custo

O Caddy usa Apache 2.0. Pode rodar em produção numa empresa, e a exigência é manter os avisos de copyright e de licença. O site diz que os recursos de alta disponibilidade são gratuitos, sem trava de plano enterprise. O projeto vive de patrocínio: patrocinadores recebem suporte privado e treinamento, e o README indica contrato de suporte com a Ardan Labs para empresas.

Quando vale a pena

O Caddy agrada quem sobe aplicações num VPS e não quer cuidar de certificado na mão, e também quem prefere um proxy reverso legível. Se você ainda está entendendo o papel de cada peça, o post O que é um Servidor? ajuda. Equipes com muita configuração já escrita em Nginx podem não ganhar tanto com a troca. Nginx e Traefik são as alternativas mais citadas.