以下是一个场景。我有两个 Web 应用程序(我们称之为 webapp1 和 webapp2),它们需要 apache、php(带有一些模块)以及 Web 应用程序的代码本身。这是我的设置方法(使用角色配置文件模式):
modules/
apache/
php/
webapp1/ # responsible for cloning the repo and setting up config files
webapp2/ # responsible for cloning the repo and setting up config files
profiles/
manifests/
webapp1.pp # responsible for putting the stack together
webapp2.pp # responsible for putting the stack together
Profiles/manifests/webapp1.pp 看起来像这样:
class profiles::webapp1 {
include ::apache
include ::php
include ::webapp1
}
并且profiles/manifests/webapp1.pp看起来像这样:
class profiles::webapp2 {
include ::apache
include ::php
include ::webapp2
}
现在,这两个应用程序也必须通过 HTTPS 提供服务,并且需要相同的 SSL 证书集(假设 webapp1 和 webapp2 由一个域的不同子域提供服务,并且我们有一个通配符证书,因此两个应用程序都可以使用相同的证书)。现在,我无法决定在哪个清单中进行 SSL 设置(即使用file
类型设置密钥和证书。原因是至少现在,我将在同一个角色清单中同时拥有 webapp1 和 webapp2,但我希望具有灵活性,以便我可以将 webapp1 和 webapp2 移动到不同的角色中,而不必担心以不同的方式进行 SSL 设置。
答案1
我会将它们放在一个单独的类中,例如“wildcard_ssl_”,并且可能将其包含在两个“webappX”类中,或者可能包含在两个配置文件中。