nginx jfryman傀儡实现的服务器\u令牌

nginx jfryman傀儡实现的服务器\u令牌,nginx,puppet,Nginx,Puppet,我正在尝试使用jfryman nginx puppet模块将服务器\ U令牌设置为off: 在我的舱单上,我把 server_tokens => off, 在nginx类的右大括号之前。这给了我一个错误: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Syntax error at '=>'; expected '}' at ..... 我还尝试将其定义为: nginx::c

我正在尝试使用jfryman nginx puppet模块将服务器\ U令牌设置为off:

在我的舱单上,我把

server_tokens => off,
在nginx类的右大括号之前。这给了我一个错误:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Syntax error at '=>'; expected '}' at .....
我还尝试将其定义为:

nginx::config{
    server_tokens => off,
}
但它抱怨没有定义资源


如何实现这一点?

如果您打算编写Puppet DSL代码,那么我建议您仔细阅读该语言,以便理解您正在编写的内容。Puppetlabs提供了非常好的文档,包括,这将是一个很好的起点

阅读您尝试使用的模块的文档也是一个好主意。然而,在这里,尽管模块有相当长的文档,但它们似乎没有深入到很多细节中,因此您应该求助于清单文件本身以获取信息,这并不是不合理的。然而,既然你已经这样做了,你至少应该阅读这些文章中的介绍性评论。如果您这样做了,您肯定会在类
nginx::config
的简短介绍性评论的末尾看到这一点:

# Sample Usage:
#
# This class file is not called directly
由于您试图直接使用该类,我得出结论,您实际上没有阅读它的纪录片评论。您实际想要声明的类的名称似乎只是
nginx

当然,Puppet是对的,您的代码在语法上是错误的。您发布的片段更接近a的形式,而不是a的形式,但它不是任何一种形式的有效示例

模块文档提供了几个声明类
nginx
的示例,但我建议您将重点放在讨论如何通过Hiera将数据绑定到该类的参数上。这是为其
server\u令牌
参数或任何其他参数设置非默认值的最佳方法

尽管如文档中所示,声明类
nginx
可能对您有用,但使用类声明的演示样式是一种糟糕的形式,并且可能会在以后给您带来麻烦。阅读语言参考链接部分中的“类似包含”和“类似资源”类声明,也许可以使用类似包含的声明

include 'nginx'

.

谢谢你,我已经阅读了,我同意最好的方法是在hiera中设置。但是,当我设置此值时,它不会在我的服务器上更新(当我手动设置时,它会恢复)。我尝试添加以下内容:nginx::config:server\u令牌:off