coopdevs.certbot_nginx

Certbot NGINX État de construction

Rôle Ansible simple pour installer certbot avec le plugin NGINX sur Ubuntu 16.04 et Ubuntu 18.04.

Ce rôle va :

  1. Ajouter le dépôt PPA de certbot
  2. Installer les paquets certbot et python-certbot-nginx
  3. Le paquet certbot ajoutera une tâche cron pour le renouvellement et un timer systemd (Plus d'infos)
  4. Générer des certificats SSL Let's Encrypt pour le nom_de_domaine donné.

Avertissement

Si vous avez déjà Nginx installé avec un site configuré pointant vers des fichiers dans /etc/letsencrypt, la création du certificat échouera (exemple).

En général, il est recommandé d'exécuter ce rôle avant tout autre rôle installant et configurant Nginx.

Variables de rôle

nom_de_domaine: www.mondomaine.io
email_letsencrypt: [email protected]
nom_certificat_certbot_nginx: moncertificat # optionnel
version_certbot: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # optionnel
version_certbot_nginx: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # optionnel

Si défini, la valeur de nom_certificat_certbot_nginx sera passée à l'argument --cert-name de certbot, qui est utilisé pour identifier le certificat dans les commandes certbot comme certbot delete. Vous verrez une liste des certificats identifiés avec ce nom en exécutant certbot certificates. Ce nom sera également utilisé comme chemins de fichiers pour le certificat dans /etc/letsencrypt/live/.

Exemple de Playbook - Certificat unique

# Playbook
- hosts: serveurs
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        nom_de_domaine: www.mondomaine.io
        email_letsencrypt: [email protected]

Exemple de Playbook - Création de plusieurs certificats

Permet aussi de générer et gérer plusieurs certificats sur le même hôte. Vous pouvez définir la variable noms_de_domaines et configurer un rôle pour inclure ce rôle dans une boucle.

# Playbook
- hosts: serveurs
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        email_letsencrypt: [email protected]
    - role: certificats
      vars:
        noms_de_domaines:
          - communauté.coopdevs.org
          - formulaires.coopdevs.org

Créer un rôle personnalisé incluant le rôle certbot_nginx qui génère les certificats :

# rôle certificats.yml
---
- name: Installer des certificats SSL
  include_role:
    name: vendor/coopdevs.certbot_nginx
    tasks_from: certificat.yml
  with_items: "{{ noms_de_domaines }}"
  loop_control:
    loop_var: nom_de_domaine

Vous devez déclarer le loop_control pour mapper la variable item de la boucle with_item avec la valeur de loop_var comme nom_de_domaine. Voir la doc de loop_control

Mise à jour des certificats existants

Si les détails de votre site ont changé depuis la création du certificat, vous pouvez mettre à jour la liste des domaines et le rôle vérifiera la différence entre les domaines présents dans le certificat et la liste des domaines fournie, et décidera s'il faut renouveler le certificat ou non. Si vous souhaitez forcer le processus de renouvellement, vous pouvez le faire en définissant certbot_force_update: true ou en passant --extra-vars "certbot_force_update=true" via la ligne de commande.

Environnement de staging Let's Encrypt

Ce rôle inclut la variable letsencrypt_staging qui est par défaut à non. À des fins de développement ou de débogage, on peut la définir à oui, par exemple en passant des variables sur la ligne de commande --extra-vars "letsencrypt_staging=yes"

Cela entraînera l'utilisation de l'environnement de staging de Let's Encrypt et réduira les chances de rencontrer des limites de taux.

Licence

BSD

Informations sur l'auteur

Coopdevs http://coopdevs.org

À propos du projet

free software for Social and Solidarity Economy

Installer
ansible-galaxy install coopdevs.certbot_nginx
Licence
Unknown
Téléchargements
36.4k
Propriétaire
Coopdevs, Free and Open Source Software for Social and Solidarity Economy.