
Servidor web rápido y extensible multiplataforma HTTP/1-2-3 con HTTPS automático
Caddy es una plataforma de servidor extensible que utiliza TLS por defecto.
La forma más sencilla y multiplataforma de empezar es descargar Caddy desde GitHub Releases y colocar el archivo ejecutable en tu PATH.
Consulta nuestra documentación en línea para otras instrucciones de instalación.
Requisitos:
Nota: Estos pasos no incrustarán la información de versión adecuada. Para ello, sigue las instrucciones de la siguiente sección.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
Cuando ejecutes Caddy, puede intentar vincularse a puertos bajos a menos que se especifique lo contrario en tu configuración. Si tu sistema operativo requiere privilegios elevados para esto, deberás otorgar permiso a tu nuevo binario para hacerlo. En Linux, esto se puede hacer fácilmente con: sudo setcap cap_net_bind_service=+ep ./caddy
Si prefieres usar go run que solo crea binarios temporales, aún puedes hacer esto con el setcap.sh incluido así:
$ go run -exec ./setcap.sh main.go
Si no quieres escribir tu contraseña para setcap, usa sudo visudo para editar tu archivo sudoers y permitir que tu cuenta de usuario ejecute ese comando sin contraseña, por ejemplo:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
reemplazando username con tu nombre de usuario real. Ten cuidado y solo haz esto si sabes lo que estás haciendo! Solo estamos calificados para documentar cómo usar Caddy, no las herramientas Go ni tu computadora, y proporcionamos estas instrucciones solo por conveniencia; por favor, aprende a usar tu propia computadora bajo tu propio riesgo y haz los ajustes necesarios.
Luego puedes ejecutar las pruebas en todos los módulos o en uno específico:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
$ xcaddy build
...los siguientes pasos están automatizados:
mkdir caddycd caddygo mod init caddygo get github.com/caddyserver/caddy/v2@version reemplazando version con una etiqueta git, commit o nombre de rama._ "import/path/here"go build -tags=nobadger,nomysql,nopgxEl sitio web de Caddy tiene documentación que incluye tutoriales, guías de inicio rápido, referencias y más.
Recomendamos que todos los usuarios, independientemente de su nivel de experiencia, sigan nuestra guía Getting Started para familiarizarse con el uso de Caddy.
Si solo tienes un minuto, el sitio web tiene varios tutoriales de inicio rápido para elegir! Sin embargo, después de terminar un tutorial de inicio rápido, lee más documentación para entender cómo funciona el software. 🙂
Caddy se utiliza más a menudo como servidor HTTPS, pero es adecuado para cualquier programa Go de larga duración. Ante todo, es una plataforma para ejecutar aplicaciones Go. Las "aplicaciones" de Caddy son simplemente programas Go que se implementan como módulos de Caddy. Dos aplicaciones -- tls y http -- se incluyen de serie con Caddy.
Las aplicaciones de Caddy se benefician instantáneamente de la documentación automatizada, los cambios de configuración en línea sin afectar el servicio y la unificación con otras aplicaciones de Caddy.
Aunque JSON es el lenguaje de configuración nativo de Caddy, Caddy puede aceptar entrada de adaptadores de configuración que pueden convertir esencialmente cualquier formato de configuración que elijas a JSON: Caddyfile, JSON5, YAML, TOML, configuración de NGINX, y más.
La forma principal de configurar Caddy es a través de su API, pero si prefieres archivos de configuración, la interfaz de línea de comandos también los soporta.
Caddy expone un nivel de control sin precedentes en comparación con cualquier servidor web existente. En Caddy, normalmente estás configurando los valores reales de los tipos inicializados en memoria que impulsan todo, desde tus manejadores HTTP y handshakes TLS hasta tu medio de almacenamiento. Caddy es también ridículamente extensible, con un potente sistema de complementos que proporciona grandes mejoras sobre otros servidores web.
Para aprovechar el poder de este diseño, necesitas saber cómo está estructurado el documento de configuración. Consulta nuestro sitio de documentación para obtener detalles sobre la estructura de configuración de Caddy.
Casi toda la configuración de Caddy está contenida en un único documento de configuración, en lugar de estar dispersa entre banderas de CLI, variables de entorno y un archivo de configuración como en otros servidores web. Esto hace que gestionar la configuración de tu servidor sea más directo y reduce variables/factores ocultos.
Nuestro sitio web tiene documentación completa:
La documentación también es de código abierto. Puedes contribuir a ella aquí: https://github.com/caddyserver/website
Recomendamos a las empresas que usan Caddy que consigan un contrato de soporte a través de Ardan Labs antes de que se necesite ayuda.
¡Un patrocinio ayuda mucho! Podemos ofrecer ayuda privada a los patrocinadores. Si Caddy beneficia a tu empresa, considera un patrocinio. Esto no solo ayuda a financiar el trabajo a tiempo completo para asegurar la longevidad del proyecto, sino que proporciona a tu empresa los recursos, soporte y descuentos que necesitas; además de ser una excelente imagen para tu empresa ante tus clientes y potenciales clientes!
Las personas pueden intercambiar ayuda de forma gratuita en nuestro foro comunitario en https://caddy.community. Recuerda que las personas brindan ayuda en su tiempo libre y de buena voluntad. ¡La mejor manera de obtener ayuda es darla primero!
Por favor, usa nuestro rastreador de problemas solo para informes de errores y solicitudes de funciones, es decir, elementos de desarrollo procesables (las preguntas de soporte generalmente se derivarán a los foros).
Matthew Holt comenzó a desarrollar Caddy en 2014 mientras estudiaba ciencias de la computación en la Universidad Brigham Young. (El nombre "Caddy" fue elegido porque este software ayuda con las tareas tediosas y mundanas de servir la Web, y también es un lugar único donde se pueden organizar varias cosas juntas.) Pronto se convirtió en el primer servidor web en usar HTTPS automáticamente y por defecto, y ahora tiene cientos de colaboradores y ha servido billones de solicitudes HTTPS.
El nombre "Caddy" es una marca registrada. El nombre del software es "Caddy", no "Caddy Server" ni "CaddyServer". Por favor, llámalo "Caddy" o, si deseas aclarar, "el servidor web Caddy". Caddy es una marca registrada de Stack Holdings GmbH.
Caddy es un proyecto de ZeroSSL, una empresa de HID Global.
El alojamiento del repositorio de paquetes Debian es proporcionado amablemente por Cloudsmith. Cloudsmith es la única solución de gestión de paquetes universal, totalmente alojada y nativa de la nube, que permite a tu organización crear, almacenar y compartir paquetes en cualquier formato, a cualquier lugar, con total confianza.