0

我们正在使用 Puppet 使用 Puppetlabs 的 Apache 模块配置多个运行 Apache HTTPD 的集群。

所有证书都存储在 Puppet 已经可以访问的 git 存储库中(例如puppet://files-host/path/to/certs/${fqdn}.crt)。

现在我们必须ssl_chain为每个使用的证书显式指定中间 CA 证书(apache 类中的变量)。

是否可以让 Puppet 自动找出正确的中间 CA 证书?在“真正的”脚本语言中,我将遍历所有 *.pem 文件并将主题与证书的颁发者进行比较。但这怎么能在 Puppet 中发挥作用呢?

我们不想将中间 CA 证书嵌入到所有证书中。

4

1 回答 1

0

我有一个解决我的问题的方法。这不是最佳方式,但它似乎是 Puppet 托管基础架构的唯一方式。

所有中间 CA 证书都位于 git 存储库中的单个目录中,Puppet 会将文件夹的全部内容放到托管主机(将文件资源的“递归”和“清除”属性设置为 true)。

每个证书和密钥文件也使用文件资源进行部署。证书文件的文件资源将通知 exec 资源执行shell 脚本,该脚本将正确的 CA 证书符号链接到静态文件路径(即 /etc/ssl/private/my-domain.pem -> /etc/ssl/ca/ some-ca.pem. 所以每个 FQDN 有三个文件(fqdn.crt、fqdn.key 和 fqdn.pem)。

于 2017-03-11T18:02:00.473 回答