我已经安装了puppetlabs-apache
模块。我能够管理vhost但现在我想更改/添加我的客户端服务器的默认apache2.conf
文件的内容。具体来说,我必须添加行
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Include /etc/apache2/conf.d/security
到apache2.conf
文件。
如何在不干扰puppetlabs / apache模块设置的情况下进行更改?
答案 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
之所以提出所有这些内容,是因为这是一个非常具体的示例,在其中进入模块并对其进行扩展似乎很值得-该模块具有开箱即用的可配置性,通常看起来最安全地处于其支持的功能之内。
谢谢你的回答,约翰。它帮助我非常快速地解决了功能要求。我没有声誉,所以我无法直接回复您的回答。