Saltar al contenido

Configuración Nginx a Caddyfile

Convierte una configuración Nginx a un Caddyfile equivalente.

Entrada
Salida

Configuración Nginx a Caddyfile

Pega una configuración Nginx y esta herramienta la reescribe como un Caddyfile, manteniendo la estructura reconocible: cada bloque server se convierte en una dirección de sitio Caddy, y cada location se convierte en un bloque handle coincidente con la misma ruta. Está diseñada para el caso común de migración — mover un sitio Nginx funcional a Caddy sin aprender la sintaxis desde cero.

Las opciones controlan qué partes se convierten. Proxy inverso transforma proxy_pass en reverse_proxy y traslada entradas proxy_set_header como header_up, sustituyendo variables Nginx como $host y $remote_addr por placeholders de Caddy. Archivos estáticos mapea root, index y try_files a root, file_server y try_files. Redirecciones y reescrituras convierte return y rewrite en redir y rewrite, y la configuración TLS traslada un par de certificados a una directiva tls — vale la pena notar, ya que Caddy emite y renueva certificados automáticamente y esa línea a menudo es removible. Compresión y caché mapea gzip a encode y señala proxy_cache, que no tiene equivalente integrado en Caddy. Límite de tamaño de cuerpo convierte client_max_body_size en un bloque request_body con un max_size coincidente.

Nginx tiene directivas que Caddy simplemente no tiene, desde el bloqueo de protocolo SSL hasta auth_basic_user_file. En lugar de adivinar, la herramienta deja ésas sin tocar y añade una nota comentada sobre qué no tiene equivalente y qué revisar manualmente — desactívala para obtener salida limpia. Los bloques anidados se analizan correctamente, así que una location anidada dentro de otra location, o un server envuelto en un bloque http, se propaga de la misma manera. Se manejan ambos estilos de terminación de línea, y el contador en vivo reporta líneas de entrada, directivas convertidas y advertencias generadas.

Todo se ejecuta localmente en tu navegador — tu configuración nunca se sube a ningún lugar, lo que importa cuando contiene nombres de host internos o rutas de certificados. Copia el resultado, descárgalo como Caddyfile, o envíalo de vuelta al input para refinar la conversión aún más.

Preguntas frecuentes

¿Maneja una nginx.conf completa con múltiples bloques server?
Sí. Cada bloque server — ya sea en el nivel superior o anidado dentro de un bloque http — se convierte en su propio bloque de sitio Caddy, separado por una línea en blanco.
¿Qué sucede con las directivas que Caddy no tiene equivalente para?
Se omiten de la salida convertida y se señalan con un comentario "# CADDY:" explicando qué revisar manualmente. Desactiva "Advertir sobre directivas sin equivalente" para obtener una salida limpia sin los comentarios.
¿Elimina mis directivas de certificado SSL?
La convierte en una directiva tls explícita con una nota de que Caddy generalmente puede gestionar certificados automáticamente — puedes eliminar esa línea y dejar que Caddy maneje HTTPS por su cuenta.
¿Cómo se convierten las ubicaciones de expresión regular?
Una location coincidente con ~ o ~* se convierte en un matcher path_regexp nombrado (como @match1) usado por un bloque handle, ya que Caddy no hace coincidencia de ruta regex en línea como lo hace Nginx.
¿Mi configuración se sube a algún lugar?
No. La conversión se ejecuta completamente en tu navegador — tu configuración Nginx nunca sale de tu dispositivo.