Generador Caddyfile
Infraestructura moderna en la nube y proxy inverso

Generador de Configuraciones Caddyfile, Reverse Proxy y HTTPS

Referencia técnica y guía de configuración para generar archivos Caddyfile optimizados para entornos de producción.

Privacidad 100% del lado del cliente
Cero transmisión al servidor
Preajustes:
Profile:
Dominio y host virtualAuto-HTTPS Ready
TLS / SSL y certificadosACME sin configuración
Backends de origen y balanceo de carga1 Nodos
127.0.0.1:3000
Opciones de seguridad y rendimiento
# ========================================================
# 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
    }
}
Dominios y sitios
1 Nombre de host
app.example.com, www.app.example.com
Upstreams del proxy
1 Backend Nodo Configurado
Policy: round_robin
Estado de seguridad y TLS
Automatic HTTPS Enabled
HTTP/3 (QUIC) & Zstandard Ready

Generador privado 100% en el cliente

Sin subidas a servidores ni telemetría. Las direcciones de dominio, IPs y credenciales se procesan exclusivamente en la memoria del navegador.

Directivas Caddy 2 y HTTPS automático

Soporte nativo para certificados TLS de Let's Encrypt / ZeroSSL, HTTP/3 QUIC, túneles WebSocket y compresión Zstandard.

Listo para despliegue multiplataforma

Exporte sintaxis Caddyfile verificada, definiciones Docker Compose, servicios Systemd y comandos de validación en terminal.

Referencia técnica y guía de arquitectura

Referencia de Desarrollador para Caddyfile Generator — Guía de referencia

Referencia técnica y guía de configuración para generar archivos Caddyfile optimizados para entornos de producción.

Parámetros clave y controles

domainstring

Nombre de dominio completo (FQDN) o dirección IP que define el bloque de sitio raíz en el Caddyfile.

Por defecto: example.com
tlsMode"auto" | "internal" | "custom" | "off"

Estrategia de certificados TLS: ACME automatizado (auto), CA local interna (internal), certificados PEM manuales (custom) o HTTP plano (off).

Por defecto: auto
upstreamsstring[]

Lista de direcciones de servidores backend o sockets unix enrutados mediante la directiva reverse_proxy.

Por defecto: ["localhost:3000"]
lbPolicy"round_robin" | "least_conn" | "ip_hash" | "first" | "random"

Algoritmo de balanceo de carga aplicado por reverse_proxy al distribuir peticiones entre múltiples backends.

Por defecto: round_robin
enableHealthCheckboolean

Habilita sondeos activos periódicos mediante URI para aislar instancias de backend degradadas o caídas.

Por defecto: false
enableSecurityHeadersboolean

Aplica cabeceras de seguridad recomendadas como HSTS, X-Content-Type-Options: nosniff y restricciones de iframes.

Por defecto: true

Consejos profesionales y mejores prácticas

Recargas en Caliente sin Caída

Evite reiniciar el proceso de Caddy en producción. Ejecute `caddy reload --config /etc/caddy/Caddyfile` para realizar un intercambio dinámico de configuración en memoria sin perder conexiones activas.

Tiempos de Espera Explícitos

Configure `dial_timeout 5s` y `response_header_timeout 30s` en el subbloque `transport http` para evitar que peticiones bloqueadas en el backend agoten el pool de conexiones de Caddy.

Mitigar Límites de Tasa ACME

En entornos de prueba locales o CI, configure `tls internal` o utilice la URL de staging de Let's Encrypt (`acme_ca https://acme-staging-v02.api.letsencrypt.org/directory`) para no agotar cuotas oficiales.

Errores comunes y solución de problemas

caddy validate falla por directiva no reconocida o sintaxis inválida

Ejecute `caddy validate --config /etc/caddy/Caddyfile` para identificar la línea exacta del error. Compruebe que la llave de apertura `{` esté en la misma línea del dominio y que los bloques snippet importados se definan antes de usarse.

El desafío ACME HTTP-01 falla en el puerto 80 con conexión rechazada

Verifique que el puerto 80 esté abierto en su cortafuegos (UFW, iptables o grupos de seguridad en la nube). Caddy necesita recibir tráfico HTTP en el puerto 80 para validar certificados de Let's Encrypt o ZeroSSL.

reverse_proxy responde con error HTTP 502 Bad Gateway a los clientes

Compruebe si el backend está escuchando en IPv4 (`127.0.0.1`) en lugar de IPv6 (`::1`). En despliegues Docker, use el nombre del servicio en Docker Compose en lugar de `localhost` para permitir la resolución interna.

Preguntas frecuentes (FAQ)

¿En qué se diferencia el Caddyfile de la configuración nativa en JSON?▼

El Caddyfile es una sintaxis declarativa diseñada para ser comprensible por personas, la cual el adaptador de Caddy traduce a JSON antes de la ejecución. Puede ver el resultado ejecutando `caddy adapt --config Caddyfile --pretty`.

¿Se envían credenciales, dominios o claves a algún servidor externo?▼

No. Toda la generación y validación del Caddyfile se procesa de forma 100% local en su navegador web. Ningún dominio, contraseña cifrada ni ruta de archivo se transmite a servidores remotos.

¿Qué algoritmo de hash requiere la directiva basic_auth en Caddy?▼

La directiva basic_auth de Caddy exige contraseñas procesadas con bcrypt y rechaza credenciales en texto plano. Puede generar el hash correcto ejecutando en su terminal `caddy hash-password --plaintext "sucontraseña"`.

¿Es posible exportar las configuraciones a Docker Compose y systemd?▼

Sí. La herramienta proporciona pestañas con plantillas listas para Docker Compose (con volúmenes persistentes para `/data` y `/config`) y servicios unitarios de systemd optimizados para recargas en caliente.

Herramientas y utilidades relacionadas

Todas las herramientas →
Guía para Desarrolladores del Benchmark de Compresión Brotli y Gzip y Estimador de Ancho de BandaDesarrollo

Analiza cargas de texto, CSS y JS con la API nativa CompressionStream, estimando ratios de compresión Brotli/Gzip y tiempos de carga en redes móviles 3G/4G.

Abrir herramienta→
Guía de desarrollo del conversor de Protobuf .proto a Interfaces y Enums de TypeScriptDesarrollo

Analiza definiciones de mensajes Protocol Buffers (proto2 y proto3), enums y campos anidados en interfaces TypeScript limpias.

Abrir herramienta→
Guía para Desarrolladores: Generador de Documentación OpenAPI y Swagger a MarkdownDesarrollo

Convierta especificaciones OpenAPI 3.0 y Swagger 2.0 JSON/YAML en documentación de referencia Markdown limpia compatible con GitHub Flavored Markdown.

Abrir herramienta→
Guía de desarrollo del convertidor de GraphQL SDL a esquema de PrismaDesarrollo

Traduzca tipos de objetos, enumeraciones y directivas de GraphQL SDL a modelos limpios y relaciones del ORM Prisma.

Abrir herramienta→
Guía para desarrolladores: Generador de entidades TypeORM a partir de SQL DDL (Entidades TypeScript)Desarrollo

Convierta sentencias DDL SQL CREATE TABLE en clases de entidad TypeScript TypeORM limpias con decoradores @Column, @PrimaryGeneratedColumn, relaciones e índices.

Abrir herramienta→
Guía para Desarrolladores del Conversor de SQL CREATE TABLE DDL a Esquema ZodDesarrollo

Traduzca esquemas de tablas SQL, tipos de datos, restricciones y columnas anulables a esquemas de objetos Zod fuertemente tipados en TypeScript.

Abrir herramienta→