2017-02-21 25 views
0

Мы используем Puppet для настройки нескольких кластеров, работающих под Apache HTTPD, используя модуль Apache из Puppetlabs.Автоматический поиск сертификата промежуточного сертификата CA

Все сертификаты хранятся в репозитории git. Кукольный уже имеет доступ (например, puppet://files-host/path/to/certs/${fqdn}.crt).

Прямо сейчас мы должны указывать промежуточный сертификат CA (переменная ssl_chain в классе apache) для каждого используемого сертификата.

Возможно ли, что Puppet автоматически выяснит правильный промежуточный сертификат CA? На «реальном» языке сценариев я буду перебирать все файлы * .pem и сравнивать тему с эмитентом сертификата. Но как это могло случиться в «Кукольном»?

Мы не хотим внедрять промежуточный сертификат ЦС во все сертификаты.

ответ

0

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

Все промежуточные сертификаты ЦС расположены в одном каталоге в репозитории git, а Puppet помещает все содержимое папки в управляемые узлы (устанавливает атрибуты «рекурсивный» и «очистить» ресурса файла на true) ,

Каждый сертификат и файл ключей также развертываются с использованием файловых ресурсов. Файловый ресурс для файла сертификата уведомит ресурс exec, выполняющий команду shell script, которая символизирует правильный сертификат CA в статическом пути к файлу (например, /etc/ssl/private/my-domain.pem ->/etc/ssl/ca/​​some -ca.pem. Таким образом, для каждого FQDN есть три файла (fqdn.crt, fqdn.key и fqdn.pem).