ssl-certs

ansible-role-ssl-certs

Создание и/или развертывание SSL сертификата

Доступно в Ansible Galaxy: LIP-Computing.ssl-certs

Примеры

Пример генерации самоподписанного SSL сертификата

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs

Это создаст сертификат и закрытый ключ в:

  • /etc/ssl/myserver.mydomain.com.key
  • /etc/ssl/myserver.mydomain.com.pem

Пример развертывания SSL сертификата

Два примера плейбуков показаны ниже:

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "example.com"
 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "myhost.mydomain"
      ssl_certs_country: "PT"
      ssl_certs_locality: "Лиссабон"
      ssl_certs_organization: "LIP"
      ssl_certs_state: "Лиссабон"
      ssl_certs_path_owner: "root"
      ssl_certs_path_group: "root"
      ssl_certs_generate_dh_param: true

Сертификат должен быть размещен в files/ssl/example.com.key и files/ssl/example.com.pem. Если они не существуют, они будут сгенерированы как самоподписанный сертификат в /etc/ssl/example.com.key и /etc/ssl/example.com.key с использованием указанного общего имени.

Пример развертывания SSL сертификата с использованием локальных файлов ключа/pem

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_local_privkey_path: '/path/to/example.com.key'
      ssl_certs_local_cert_path: '/path/to/example.com.pem'

Пример развертывания SSL сертификата, хранящегося в переменных

SSL сертификат и ключ представляют собой просто текст, который можно хранить как переменную, что полезно при использовании ansible vault.

Пример данных переменной, обратите внимание, как текст отформатирован. Это необходимо для корректной вставки текста через модуль шаблонов.

ssl_certs_local_privkey_data: |
  -----BEGIN RSA PRIVATE KEY-----
  MIIEpQIBAAKCAQEAu2uhv2cjoN4F3arUZ5cDrwuxf3koCwrKSK75as0WZoxYrpyw
  Lyx9ldyD4nGabVep0R/uAgQ/HqEf2jC7WIvGcEq8bHB9PyEEWzT8IjKQX0YTc//4
  gkHBkpyU0fVrj5nkc30EIbcbH4RHRDwye4VhP/iCPchDG7OqvCyOdm8=
  -----END RSA PRIVATE KEY-----
ssl_certs_local_cert_data: |
  -----BEGIN CERTIFICATE-----
  MIIDmzCCAoOgAwIBAgIJAKWMlgLwrBzXMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNV
  QAL3naEfBSZBl0tBohuxn8Xd3yLPuKGUOk3pSL1IJy0Ca6p+QwjkaZUd9X3gf1V2
  SEfYSaGPvfIlSuHIshno
  -----END CERTIFICATE-----

Затем просто добавьте роль, как в первом примере.

Пример использования этой роли с моей ролью Nginx: jdauphant.nginx

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs
       ssl_certs_generate_dh_param: true
     - role: jdauphant.nginx
       nginx_configs:
          ssl:
               - ssl_certificate_key {{ssl_certs_privkey_path}}
               - ssl_certificate     {{ssl_certs_cert_path}}
               - ssl_dhparam         {{ssl_certs_dhparam_path}}
       nginx_sites:
          default:
               - listen 443 ssl
               - server_name _
               - root "/usr/share/nginx/html"
               - index index.html
О проекте

Generate and/or deploy SSL certificate

Установить
ansible-galaxy install LIP-Computing/ansible-role-ssl-certs
Лицензия
bsd-2-clause
Загрузки
60
Владелец
LIP Computing group