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

如何在不干扰puppetlabs/apache模块默认设置的情况下编辑apache2.conf文件?,apache2,puppet,puppetlabs-apache,Apache2,Puppet,Puppetlabs Apache,我已经安装了puppetlabsapache模块。我能够管理vhost,但现在我想更改/添加客户机服务器的默认apache2.conf文件的内容。具体来说,我必须添加行 Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure Include /etc/apache2/conf.d/security 转到apache2.conf文件。 如何在不干扰puppetlabs/apache模块设置的情况下进行更改?由puppetlabs apache设置的apa

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

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Include /etc/apache2/conf.d/security
转到
apache2.conf
文件。
如何在不干扰puppetlabs/apache模块设置的情况下进行更改?

由puppetlabs apache设置的apache配置系统的设计使您通常不需要修改主配置文件。相反,您通常希望将文件放入服务器的
conf.d/
目录中,在那里它可以自动查找并加载这些文件。模块定义的类型正是为了实现这一目的


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

直接使用自定义内容修改
模板/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而不是headers更新它

现在看来,通过Apache启用http2是一件非常理想的事情,但这张票已经开放了大约一年:

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

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