Implementación de Cloudflare en Caddy
Caddy es un servidor web que gestiona automáticamentecertificados lasHTTPS conexionesde HTTPS.forma Sinautomática, embargo,pero alsi integrarlo conusas Cloudflare como DNS, puedes añadirmejorar unala capa extra de protecciónseguridad y rendimiento para tu dominio, como mitigación de ataques DDoS, ocultación deocultar la IP del servidor y cacheo opcional de contenidotu estático.
EnPara estaeso, guía, aprenderás apuedes configurar el ACME DNS Challenge, conque permite validar tus dominios usando Cloudflare en Caddy,lugar integrandodel eltípico tokenchallenge necesario tanto en el Caddyfile como en tu entorno.HTTP.
1.
Requisitos Preparar el entorno
Antes de comenzar, asegúrate de tener lo siguiente:
Un dominioDominio gestionado enCloudflare.Cloudflare.- Caddy
Caddyinstalado en tu servidor.instalado. AccesoUnalAPIpanel de controlToken de CloudflareparacongenerarpermisosunDNSAPIsobreToken.tu dominio.
2.
Paso Generar1: Crear el Cloudflare API Token
Paraen integrar Caddy con Cloudflare, necesitarás un API Token con permisos para gestionar los registros DNS.
Pasos para crear el token:
Cloudflare
IniciasesiónAccede
ena Cloudflare Dashboard.
En tu cuentaperfil, de Cloudflare.
Crea enun Createtoken Custom Token.
Zone:DNS:Edit:Permite a Caddy realizar los ajustes necesarios en los registros DNS.
Ejemplo de token (ficticio):
xyz123abc-LJkdfF3Hd8Fg12jMNkjh55vQP0Z
3. Configurar el ACME DNS Challenge en el Caddyfile
Para integrar Cloudflare al inicio de tu configuración de Caddy, añade este bloque al principio del Caddyfile:
# ACME DNS Challenge with Cloudflare
{
acme_dns cloudflare xyz123abc-LJkdfF3Hd8Fg12jMNkjh55vQP0Z
email admin@example.com
}
Explicación:
acme_dns cloudflarexyz123abc-LJkdfF3Hd8Fg12jMNkjh55vQP0Z4. Variables de entorno en cuestión).bashrc o .zshrc
Para mayor seguridad y flexibilidad, es recomendable que guardes tu API Token como una variable de entorno en lugar de escribirlo directamente en el Caddyfile. Sigue estos pasos:
Edita el archivo de configuración de tu shell, dependiendo de cuál uses:
nano ~/.bashrc
nano ~/.zshrc
AñadeGuarda lael siguientetoken líneaen alun finalsitio del archivo:seguro.
# Environment variables
export CLOUDFLARE_AUTH_TOKEN=xyz123abc-LJkdfF3Hd8Fg12jMNkjh55vQP0Z
Aplica los cambios:
source ~/.bashrc
# o
source ~/.zshrc
De
Paso forma,2: Añadir el token estaráal disponibleentorno
Guarda el token como una variable de entorno ypara no necesitarásevitar escribirlo directamente en el Caddyfile.
# En ~/.bashrc o ~/.zshrc
export CLOUDFLARE_AUTH_TOKEN=tu_token_aqui
source ~/.bashrc # o ~/.zshrc
5.
Paso 3: Configurar dominios en el Caddyfile
ABloque continuación,global uncon ejemplosoporte sencillo de cómo configurar tus dominios en el Caddyfile, utilizando el ACMEpara DNS Challenge conusando Cloudflare:
# ACME DNS Challenge with Cloudflare
{
acme_dns cloudflare xyz123abc-LJkdfF3Hd8Fg12jMNkjh55vQP0Z
email admin@example.com
}
example.com {
reverse_proxy http://192.168.1.10:8080
}
subdomain.example.com {
reverse_proxy http://192.168.1.10:8081
}
Explicación:
El
tokenBloqueseglobal: Configura Cloudflare como proveedortoma deDNSlaChallengevariablecondeelentornotokenCLOUDFLARE_AUTH_TOKEN.
Paso 4: Validar y el correo electrónico correspondiente.
example.comsubdomain.example.comreverse_proxy6. Recargar la configuración derecargar Caddy
Después de realizar los cambios, valida y recarga Caddy:
Valida el archivo de configuración:
caddy validate --config /etc/caddy/Caddyfile
Recarga el servicio:
sudo systemctl reload caddy
7. Ventajas
Beneficios de integrar Cloudflare
Aunque Caddy ya gestiona los certificados HTTPS automáticamente, integrarusar Cloudflare añadecon importantes beneficios, como:
- Ocultas
ProtecciónlaDDoS:IPCloudflarerealfiltra tráfico malicioso antes de que llegue a tudel servidor. - Añades
Ofuscaciónmitigación contra ataques DDoS.
NotaDetalles finaladicionales
- Modo SSL en Cloudflare: activa "Full (Strict)" para que Cloudflare acepte los certificados de Caddy.
👉 Usar binario de Caddy customizado
Configurar el modo SSL en Cloudflare
Para que los certificados generados por Caddy funcionen correctamente con Cloudflare, debes configurar el modo SSL adecuado. En el panel de configuración de Cloudflare, selecciona la opción "Full (Strict)" en la sección de SSL/TLS.