L-P.simp_le

ansible-role-simp_le

Instala simp_le, genera certificados y los renueva automáticamente en servidores Debian/Ubuntu.

La renovación se intentará diariamente a través de un trabajo cron ejecutado por el usuario remoto de Ansible.

Consulta el rol en Ansible Galaxy: L-P.simp_le

Nota: Empecé a usar acmetool y te recomiendo que hagas lo mismo para cualquier nuevo servidor que ejecute Ubuntu ≥ 16.04.

Variables requeridas

Una lista de hosts virtuales para los cuales generaremos certificados:

simp_le_vhosts:
  - domains: ["www.ejemplo.com", "ejemplo.com"]
    root: "/ruta/a/challenges" # accesible a través de HTTP
    output: "/ruta/a/directorio/salida" # donde se escribirán los certificados

Una dirección de correo electrónico que LetsEncrypt usará para identificarte y enviar avisos de renovación:

simp_le_email: "[email protected]"

Hay tres claves opcionales que puedes configurar en los hosts:

  • user y group para especificar quién será el propietario de las claves, desafíos y su directorio principal. El propietario por defecto es www-data:www-data.
  • extra_args para pasar argumentos adicionales a simp_le; esto se puede usar para utilizar el servidor de pruebas de LetsEncrypt o para indicarle a simp_le que reutilice el par de claves al renovar el certificado. Esto es útil si estás usando registros TLSA, ya que puedes usar el tipo de Selector 1 (SubjectPublicKeyInfo) y tu registro TLSA no necesitará cambiar cuando se renueve el certificado.
  • update_action, un comando que se ejecutará cuando se renueve un certificado, por ejemplo, systemctl restart apache2.

Ejemplo:

simp_le_vhosts:
  - domains: ["smtp.ejemplo.com", "mail.ejemplo.com"]
    root: "/ruta/a/challenges"
    output: "/ruta/a/directorio/salida"
    user: "Debian-exim"
    group: "Debian-exim"
    extra_args: "--reuse_key --server https://acme-staging.api.letsencrypt.org/directory"
    update_action: "/bin/systemctl restart exim4"

Consulta defaults/main.yml para más configuración.

Configuración del servidor

Tu servidor necesita servir los archivos de desafío a través de HTTP; aquí hay un ejemplo de configuración que puedes usar para nginx, que redirigirá cada solicitud HTTP a HTTPS, a excepción de los desafíos:

location /.well-known/acme-challenge/ {
    alias /var/www/challenges/.well-known/acme-challenge/;
    try_files $uri @forward_https;
}
location @forward_https {
    return 301 https://ejemplo.com$request_uri;
}
location / {
    return 301 https://ejemplo.com$request_uri;
}

Ejemplo de playbook

- hosts: all
  roles:
    - {role: "L-P.simp_le", become: no}

Aunque la mayoría de las operaciones se realizan sin sudo, aún se utiliza para crear los diversos directorios con los permisos y propietarios adecuados.

Acerca del proyecto

simp_le installation and certificate generation for Ubuntu/Debian.

Instalar
ansible-galaxy install L-P.simp_le
Licencia
mit
Descargas
143
Propietario