Gerador Caddyfile
Infraestrutura moderna em nuvem e proxy reverso

Gerador de Configurações Caddyfile, Reverse Proxy e HTTPS

Guia técnico e referência de configuração para geração de arquivos Caddyfile voltados a ambientes de produção.

Privacidade 100% no cliente
Zero transmissão ao servidor
Predefinições:
Profile:
Domínio e host virtualAuto-HTTPS Ready
TLS / SSL e certificadosACME sem configuração
Backends upstream e balanceamento de carga1 Nós
127.0.0.1:3000
Alternâncias de segurança e desempenho
# ========================================================
# Caddy 2 Production Server Configuration
# Site Address: app.example.com, www.app.example.com
# Workload Profile: Current Configuration
# Generated 100% Client-Side Private on ToolsAA
# ========================================================

{
    email [email protected]
    admin off
}

app.example.com, www.app.example.com {
    reverse_proxy 127.0.0.1:3000 {

        # Standard proxy header passthrough
        header_up Host {upstream_hostport}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}

        transport http {
            dial_timeout 5s
            response_header_timeout 60s
        }
    }

    # Ultra-fast high-compression (Zstandard & Gzip)
    encode zstd gzip

    # Security Hardening & Header Manipulation
    header {
        # HTTP Strict Transport Security (HSTS 2-Year Preload)
        Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        # Prevent MIME-type sniffing attacks
        X-Content-Type-Options "nosniff"
        # Mitigate clickjacking framing attacks
        X-Frame-Options "DENY"
        # Cross-domain referrer policy
        Referrer-Policy "strict-origin-when-cross-origin"
        # Restrict hardware API access
        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()"
        # Suppress fingerprinting headers
        -Server
        -X-Powered-By
    }

    # Structured Access Logging
    log {
        output file /var/log/caddy/app.example.com.access.log {
            roll_size 10mb
            roll_keep 5
            roll_keep_for 720h
        }
        format json
    }
}
Domínios e sites
1 Nome do host
app.example.com, www.app.example.com
Upstreams do proxy
1 Backend Nó Configurado
Policy: round_robin
Segurança e TLS
Automatic HTTPS Enabled
HTTP/3 (QUIC) & Zstandard Ready

Gerador 100% privado no navegador

Nenhum dado é enviado a servidores. Domínios, IPs internos e credenciais são processados localmente no seu computador.

Diretivas Caddy 2 e HTTPS automático

Geração de certificados TLS automáticos via Let's Encrypt / ZeroSSL, HTTP/3 QUIC, WebSockets e compressão Zstandard.

Pronto para produção em contêineres

Exporte arquivos Caddyfile limpos, definições Docker Compose, serviços Systemd e comandos de validação CLI.

Referência técnica e guia de arquitetura

Referência de Desenvolvedor para Caddyfile Generator — Guia de referência

Guia técnico e referência de configuração para geração de arquivos Caddyfile voltados a ambientes de produção.

Parâmetros principais e controles

domainstring

Nome de domínio totalmente qualificado (FQDN) ou IP que define o bloco de endereço principal no Caddyfile.

Padrão: example.com
tlsMode"auto" | "internal" | "custom" | "off"

Modo de certificados TLS: ACME público automático (auto), CA interna local (internal), certificados PEM manuais (custom) ou HTTP simples (off).

Padrão: auto
upstreamsstring[]

Lista de endereços ou sockets unix dos servidores backend roteados via reverse_proxy.

Padrão: ["localhost:3000"]
lbPolicy"round_robin" | "least_conn" | "ip_hash" | "first" | "random"

Algoritmo de balanceamento de carga executado pelo reverse_proxy na distribuição entre múltiplos backends.

Padrão: round_robin
enableHealthCheckboolean

Habilita sondagem ativa periódica via URI para isolar nós de backend indisponíveis ou degradados.

Padrão: false
enableSecurityHeadersboolean

Injeta cabeçalhos essenciais de proteção, como HSTS, X-Content-Type-Options: nosniff e restrições de iframe.

Padrão: true

Dicas profissionais e melhores práticas

Recarga sem Tempo de Inatividade

Evite reiniciar o serviço do Caddy em produção. Utilize o comando `caddy reload --config /etc/caddy/Caddyfile` para trocar a configuração na memória sem encerrar conexões existentes.

Timeouts Explícitos de Upstream

Defina `dial_timeout 5s` e `response_header_timeout 30s` no bloco `transport http` para impedir que falhas de resposta no backend esgotem o pool de conexões do servidor.

Mitigação de Limites do ACME

Em testes locais e pipelines de CI, declare `tls internal` ou aponte para o ambiente de staging do Let's Encrypt para evitar atingir o limite de emissão de certificados.

Problemas comuns e solução de problemas

caddy validate retorna erro de diretiva desconhecida ou bloco inválido

Execute `caddy validate --config /etc/caddy/Caddyfile` para inspecionar a linha exata do problema. A chave de abertura `{` deve obrigatoriamente estar na mesma linha do domínio, e snippets devem ser definidos antes do import.

Desafio ACME HTTP-01 falha na porta 80 com conexão recusada

Verifique se a porta 80 está liberada em seu firewall ou security group. O Caddy necessita da porta 80 aberta para validar domínios via Let's Encrypt/ZeroSSL, mesmo quando o redirecionamento HTTPS está ativado.

reverse_proxy responde com erro HTTP 502 Bad Gateway

Confirme se a aplicação backend está escutando na interface IPv4 (`127.0.0.1`) em vez de IPv6 (`::1`). Em contêineres Docker, use o nome do serviço do Docker Compose em vez de `localhost` para resolução correta.

Perguntas frequentes (FAQ)

Qual é a diferença entre a sintaxe Caddyfile e o JSON nativo do Caddy?▼

O Caddyfile é uma linguagem declarativa simplificada adaptada automaticamente pelo Caddy para JSON puro em tempo de execução. O comando `caddy adapt --config Caddyfile --pretty` exibe a estrutura JSON final resultante.

Meus domínios, senhas ou certificados são enviados para servidores externos?▼

Não. Todo o processamento e validação do Caddyfile ocorre 100% no navegador cliente. Nenhuma credencial, IP interno ou nome de domínio é enviado ou persistido remotamente.

Qual formato de hash de senha é exigido pela diretiva basic_auth?▼

A diretiva basic_auth do Caddy rejeita senhas em texto puro e exige hashes bcrypt. Gere o hash de sua senha previamente utilizando o comando oficial `caddy hash-password --plaintext "suasenha"`.

É possível exportar a configuração para Docker Compose e systemd?▼

Sim. A ferramenta possui abas dedicadas de exportação com arquivos Docker Compose configurados (incluindo volumes para `/data` e `/config`) e modelos de serviço systemd com suporte a recarga dinâmica.

Ferramentas e utilitários relacionados

Todas as ferramentas →
Guia do Desenvolvedor: Benchmark de Compressão Brotli & Gzip e Estimador de Economia de BandaDesenvolvimento

Analise payloads de texto, CSS e JS usando a API nativa CompressionStream, estimando taxas de compressão Brotli/Gzip e tempos de carregamento em redes móveis 3G/4G.

Abrir ferramenta→
Guia do Desenvolvedor do Conversor de Protobuf .proto para Interfaces e Enums TypeScriptDesenvolvimento

Analise definições de mensagens Protocol Buffers (proto2 e proto3), enums e campos aninhados em interfaces TypeScript limpas.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Documentação OpenAPI e Swagger para MarkdownDesenvolvimento

Converta especificações OpenAPI 3.0 e Swagger 2.0 JSON/YAML em documentação de referência de API em GitHub Flavored Markdown limpa e estruturada.

Abrir ferramenta→
Conversor de GraphQL SDL para Esquema Prisma (Modelos e Relações)Desenvolvimento

Traduza tipos de objetos, enums e diretivas da linguagem de definição de esquema GraphQL (SDL) em modelos e relações limpas do Prisma ORM.

Abrir ferramenta→
Guia do Desenvolvedor: Gerador de Entidades TypeORM a partir de SQL DDL (Entidades TypeScript)Desenvolvimento

Converta instruções SQL CREATE TABLE DDL em classes de entidade TypeORM em TypeScript com decoradores @Column, @PrimaryGeneratedColumn, relações e índices.

Abrir ferramenta→
Guia do Desenvolvedor do Conversor de SQL CREATE TABLE DDL para Esquema ZodDesenvolvimento

Converta esquemas de tabelas SQL, tipos de dados, restrições e colunas anuláveis em esquemas de objetos Zod estritamente tipados em TypeScript.

Abrir ferramenta→