1001Ferramentas
🚀 Dev

Gerador de Caddyfile Simples

Gera Caddyfile com HTTPS automático (Let's Encrypt), reverse_proxy ou file_server. Sintaxe simples e moderna do Caddy 2.

Caddyfile: HTTPS sem configurar certificado

O que diferencia o Caddy de nginx e Apache é o certificado: apontando um domínio real para o servidor, ele obtém o certificado do Let's Encrypt sozinho, instala e renova, sem uma linha de configuração para isso. O arquivo de configuração encolhe na mesma proporção — o que no nginx são vinte linhas com caminhos de certificado e redirecionamento vira um bloco de três.

Escolha o domínio e o modo e a página monta o Caddyfile. Em modo de proxy reverso, o bloco encaminha para o endereço do backend, já com os cabeçalhos de origem repassados por padrão — outra diferença em relação ao nginx, onde é preciso declarar cada um deles à mão. Em modo de arquivos estáticos, ele define a raiz e liga o servidor de arquivos. A opção de compressão acrescenta a diretiva correspondente.

Duas coisas para saber antes de subir. Usar localhost como nome faz o Caddy gerar um certificado próprio e confiável apenas na máquina, o que é ótimo para desenvolvimento; com domínio real, ele tenta a validação do Let's Encrypt, e para isso as portas 80 e 443 precisam estar acessíveis de fora. E o Caddyfile é sensível a formatação: a chave de abertura fica na mesma linha do endereço, e as diretivas ficam indentadas dentro do bloco.

Perguntas frequentes

Preciso abrir a porta 80 mesmo servindo só HTTPS?
Para o método de validação mais comum, sim: o Let's Encrypt busca um arquivo por HTTP antes de emitir. A porta 80 também é usada para o redirecionamento automático para HTTPS. Alternativa é a validação por DNS, que dispensa a porta mas exige credencial do provedor de DNS.
Onde ficam os certificados?
No diretório de dados do Caddy, que varia com a forma de instalação — em serviço do systemd costuma ser sob /var/lib/caddy. Não é preciso mexer neles, mas vale saber onde estão ao migrar de máquina: copiar esse diretório evita pedir certificados de novo e esbarrar no limite de emissão.
Dá para converter minha configuração do nginx?
O Caddy tem um adaptador que lê configuração do nginx e produz o equivalente, mas trate o resultado como rascunho: ele cobre o comum e deixa de fora o que depende de módulo específico. Para um site simples, escrever do zero costuma sair mais curto que converter.

Ferramentas Relacionadas