如何在不影响puppetlabs / apache模块默认设置的情况下编辑apache2.conf文件?

时间:2016-03-28 09:19:23

标签: apache2 puppet puppetlabs-apache

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

如果您为多个应用程序引用此Apache模块,并且自定义内容存在风险,则可能需要复制整个模块,并将自定义内容保留为本地化的模板。

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

Protocols h2 http/1.1

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

我唯一需要修改http2模块中文件的其他步骤是创建自己的manifests/mod/http2.pp文件,只需在同一目录中复制headers.pp文件并使用http2更新即可。标头。

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

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

之所以提出所有这些内容,是因为这是一个非常具体的示例,在其中进入模块并对其进行扩展似乎很值得-该模块具有开箱即用的可配置性,通常看起来最安全地处于其支持的功能之内。

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