thermistor.acme_sh

Etiqueta actual

acme_sh

Configura acme.sh en modo API DNS a través de Ansible para generar certificados de letsencrypt.org.

Dependencias

Muchas de las configuraciones predeterminadas asumen el uso de nginx.

Variables

Aquí hay algunas configuraciones predeterminadas que controlan el comportamiento:

acme_sh_autoupgrade: True
acme_sh_server: letsencrypt
acme_sh_notify: False
acme_sh_logging: False
acme_sh_keylength: 4096
acme_sh_dns_sleep: 120

acme_sh_certs_public_dir: /etc/nginx/certs
acme_sh_certs_private_dir: /etc/nginx/private
acme_sh_reload_cmd: /bin/systemctl reload nginx

Ejemplo de Playbook

Aquí hay un ejemplo utilizando AWS Route53 API. Pero puedes modificarlo para cualquier proveedor de API DNS.

Uso:

- hosts: servidores
  roles:
    - role: thermistor.acme_sh
      acme_sh_subject_names:
        - ejemplo.com
        - www.ejemplo.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ tu_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ tu_vault_aws_secret_access_key }}"

Aquí está el mismo ejemplo pero con registros habilitados:

- hosts: servidores
  roles:
    - role: thermistor.acme_sh
      acme_sh_logging: True
      acme_sh_subject_names:
        - ejemplo.com
        - www.ejemplo.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ tu_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ tu_vault_aws_secret_access_key }}"

Y con notificaciones de Mailgun:

- hosts: servidores
  roles:
    - role: thermistor.acme_sh
      acme_sh_notify: True
      acme_sh_notify_hooks:
        - mailgun
      acme_sh_subject_names:
        - ejemplo.com
        - www.ejemplo.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ tu_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ tu_vault_aws_secret_access_key }}"
        MAILGUN_API_KEY: "{{ tu_vault_mailgun_api_key }}"
        MAILGUN_API_DOMAIN: "{{ tu_vault_mailgun_domain }}"
        MAILGUN_FROM: "{{ tu_vault_mailgun_from }}"
        MAILGUN_TO: "{{ tu_vault_mailgun_to }}"

Lo que sucede en segundo plano

Si generas un certificado para ejemplo.com, durante el paso de instalación, este rol copiará /var/lib/acme/.acme.sh/ejemplo.com/fullchain.cer e instalará como /etc/nginx/certs/ejemplo.com.cer. Ten en cuenta que se está instalando el certificado fullchain y renombrándolo, esto es para que puedas instalar múltiples certificados fullchain para diferentes dominios si es necesario.

Solución de problemas

Si hay problemas de configuración del certificado, a veces puedes quedar en un estado bloqueado donde los certificados no se reinstalan. Puedes forzar la reinstalación de los certificados con:

ansible-playbook -i inventario playbook.yml -e "acme_sh_force_install=True" --tags acme_sh_cert_install

Licencia

MIT

Alternativas

Hemos tomado prestado mucho de estas alternativas:

Acerca del proyecto

Configure acme.sh

Instalar
ansible-galaxy install thermistor.acme_sh
Licencia
Unknown
Descargas
177
Propietario
Product guy