0

我已经安装了puppetlabs-apache模块。我能够管理虚拟主机,但现在我想更改/添加apache2.conf客户端服务器默认文件的内容。具体来说,我必须添加行

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Include /etc/apache2/conf.d/security

apache2.conf文件。如何在不干扰 puppetlabs/apache 模块设置的情况下进行更改?

4

2 回答 2

0

Apache 的配置系统,由 puppetlabs-apache 设置,旨在让您通常不需要修改主配置文件。相反,您通常希望将文件放到服务器的conf.d/目录中,它可以自动找到并加载它们。模块的apache::custom_config定义类型正是为了这个目的。

如果出于某种原因您坚持部署主配置文件的修改版本,那么您可以通过将相应 ERB 模板的名称指定为 class参数apache的值来实现。conf_template如果您打算采用此选项,那么我强烈建议您从模块随附的默认模板的副本开始,并对其进行必要的修改。如果您指定的模板不支持它们,则可能会破坏模块的其他功能。

于 2016-04-01T21:19:40.820 回答
0

templates/httpd.conf.erb直接使用您的自定义内容进行修改。

如果您为多个应用程序引用此 Apache 模块并且您的自定义内容存在风险,您可能希望复制整个模块并保持对模板进行本地化的自定义。

通过备份templates/httpd.conf.erb文件并在文档中插入以下行,我能够使用它通过 puppet 在我的服务器上启用 Apache http2。

Protocols h2 http/1.1

根据 John 的建议,.erb在编辑之前复制文件也很简单。

我必须为 http2 修改模块中的文件的唯一其他步骤是创建自己的manifests/mod/http2.pp文件,我只是通过在同一目录中复制 headers.pp 文件并使用 http2 而不是标头更新它来完成。

现在似乎真的需要通过 Apache 启用 http2,但这张票已经开放了大约一年:

https://tickets.puppetlabs.com/browse/MODULES-6537

我提出所有这些是因为这是一个非常具体的示例,其中进入模块并扩展它似乎是值得的 - 该模块是如此可配置的开箱即用,通常看起来最安全的是留在其支持的功能中。

谢谢你的回答,约翰。它帮助我很快解决了我的功能请求。我没有声誉,所以我无法直接回复您的回答。

于 2019-01-16T14:55:47.757 回答