certbot_nginx

Certbot NGINX Статус сборки

Простая роль Ansible для установки certbot с плагином NGINX на Ubuntu 16.04 и Ubuntu 18.04.

Эта роль будет:

  1. Добавит PPA-репозиторий certbot
  2. Установит пакеты certbot и python-certbot-nginx
  3. Пакет certbot добавит задачу renew в cron и таймер systemd (Подробнее)
  4. Сгенерирует SSL-сертификаты Let's Encrypt для указанного domain_name.

Предупреждение

Если у вас уже установлен Nginx с настроенным сайтом, который указывает на файлы в /etc/letsencrypt, задача по созданию сертификата не будет выполнена (пример).

В общем случае рекомендуется выполнять эту роль перед любой другой ролью, устанавливающей и настраивающей Nginx.

Переменные роли

domain_name: www.mydomain.io
letsencrypt_email: [email protected]
certbot_nginx_cert_name: mycert # необязательно
certbot_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # необязательно
certbot_nginx_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # необязательно

Если указано, значение certbot_nginx_cert_name будет передано как аргумент --cert-name для certbot, который используется для идентификации сертификата в команде certbot, такой как certbot delete. Вы увидите список сертификатов, идентифицированных по этому имени, выполнив команду certbot certificates. Это имя также будет использоваться как пути к файлам сертификата в /etc/letsencrypt/live/.

Пример Playbook - Один сертификат

# Playbook
- hosts: servers
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        domain_name: www.mydomain.io
        letsencrypt_email: [email protected]

Пример Playbook - Создание нескольких сертификатов

Также позволяет генерировать и управлять несколькими сертификатами на одном хосте. Вы можете определить переменную domain_names и настроить роль, чтобы включить эту роль в цикле.

# Playbook
- hosts: servers
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        letsencrypt_email: [email protected]
    - role: certificates
      vars:
        domain_names:
          - community.coopdevs.org
          - forms.coopdevs.org

Создание пользовательской роли, включающей роль certbot_nginx, которая генерирует сертификаты:

# certificates.yml Role
---
- name: Установить SSL сертификаты
  include_role:
    name: vendor/coopdevs.certbot_nginx
    tasks_from: certificate.yml
  with_items: "{{ domain_names }}"
  loop_control:
    loop_var: domain_name

Вам нужно объявить loop_control, чтобы сопоставить переменную item цикла with_item с loop_var, заданным как domain_name. См. документацию по loop_control

Обновление существующих сертификатов

Если данные для вашего сайта изменились с момента создания сертификата, вы можете обновить список доменов. Роль проверяет разницу между доменами, присутствующими в сертификате, и списком предоставленных доменов, и решает, нужно ли обновлять сертификат или нет. Если вы хотите принудить процесс обновления, вы можете сделать это, установив certbot_force_update: true или передав --extra-vars "certbot_force_update=true" через командную строку.

Тестовая среда Let's Encrypt

Эта роль включает переменную letsencrypt_staging, которая по умолчанию равна no. Для разработки или отладки можно установить ее в yes, например, передав переменные через командную строку --extra-vars "letsencrypt_staging=yes"

Это приведет к использованию тестовой среды Let's Encrypt и уменьшит вероятность возникновения ограничений по количеству запросов.

Лицензия

BSD

Информация об авторе

Coopdevs http://coopdevs.org

О проекте

free software for Social and Solidarity Economy

Установить
ansible-galaxy install coopdevs/certbot_nginx
Лицензия
Unknown
Загрузки
35823
Владелец
Coopdevs, Free and Open Source Software for Social and Solidarity Economy.