bendews.letsencrypt-cloudflare
LetsEncrypt-Cloudflare
Este rol simplifica el proceso de renovación de certificados de LetsEncrypt al utilizar Cloudflare como proveedor de DNS.
Requisitos
- Python >= 2.6
- OpenSSL (se instalará automáticamente si es compatible)
Variables del rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (consulte defaults/main.yml
para muchas más variables que se pueden modificar).
Campos requeridos:
letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # clave API 'Global' para la cuenta de Cloudflare especificada
cloudflare_domain: "" # zona DNS alojada en Cloudflare para crear entradas
Notas importantes:
Por defecto, el rol usará el nombre de host del inventario como el Nombre Común para solicitar un certificado, y colocará todos los archivos de certificados generados/recibidos en /etc/ssl/[Nombre Común del Certificado]
, y todos los archivos de la cuenta LetsEncrypt en /etc/ssl/lets_encrypt
. Todas estas rutas pueden ser modificadas (consulte defaults/main.yml
).
Además, los archivos de certificado también se pueden copiar y renombrar a otra ubicación después de la generación, modificando cualquiera de las siguientes variables:
copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # Requiere que include_intermediate esté configurado en 'yes'
copy_fullchain_full_path: "" # Requiere que include_intermediate esté configurado en 'yes'
El rol también se configura por defecto para usar los puntos finales de "staging" de letsencrypt, que generarán certificados funcionalmente correctos pero no confiables. Para generar certificados válidos, configure:
letsencrypt_production: yes
Los archivos generados se pueden eliminar después de su uso especificando la siguiente variable:
cleanup_all: yes
Ejemplo de Playbook
- hosts: servers
tasks:
- name: Renovar/Descargar nuevos certificados SSL
include_role:
name: letsencrypt-cloudflare
vars:
letsencrypt_email: "[email protected]"
cloudflare_email: "[email protected]"
cloudflare_domain: "abc.com"
cloudflare_api_key: "AAABBBCCCDDDEEE111222333"
letsencrypt_production: yes
include_intermediate: yes
TODO:
- Agregar soporte para múltiples CN's
Licencia
MIT
Información del Autor
Creado en 2017 por Ben Dews
LetsEncrypt renewal using Cloudflare DNS
ansible-galaxy install bendews.letsencrypt-cloudflare