2012-07-12 69 views
1

我正在注册一个节点,该节点在运行列表中搜索其他节点属性。 问题是当节点信息太大而无法通过HTTP放到服务器上时。Opscode厨师请求实体太大,注册节点

然后chef-client输出'FATAL:Net :: HTTPServerException:413'Request Entity Too Large''消息。

该服务器位于Opscode Hosted Chef。

任何人都可以帮我解决这个问题吗?

谢谢!

回答

1

这与http服务器的上传大小限制有关。我之前听说过有人在Hosted Chef上遇到过问题,而我自己也曾在OpenSource Chef上体验过。然而,在OpenSource Chef上,我有权力做一些事情来增加限制。

不,这必将有助于您在托管厨师,但我的nginx.conf需要我在HTTP中添加该行:

client_max_body_size 2M; 

这则调升限制后我重新加载nginx的和固定的问题对我来说。

(在Apache上,这将是LimitRequestBody属性,我相信,在.htaccess或httpd.conf文件的文件)

至于你的问题,我听到人们尝试的建议是降低节点信息的尺寸。在某些情况下这并不容易,但据说OHAI插件可能会导致这种情况发生,而删除它们可以解决这个问题。

我不知道这是否会对你的情况有所帮助,但也许它会帮助使用OpenSource Chef的人,他们会遇到这种情况。

祝你好运!

1

更改nginx配置对我不起作用。然而,我发现从厨师社区网站IRC日志以下(约书亚Timberman提供)和它的工作对我来说(厨师v11.4.4):

put this in /etc/chef/client.rb: Ohai::Config[:disabled_plugins] = ["passwd"] 

这里是链接: http://community.opscode.com/chat/chef/2013-02-07

由于这是客户端,它应该工作,不管你使用的厨师服务器类型。

注意:在编写产生错误的食谱时,我还没有在测试中看到过这个(主厨v11.10.4)。这可能在更新的Chef版本中得到修复。

+0

应该是“passwd”而不是“通过” – lamont 2014-04-24 00:53:56

+0

也适用于ohai v7语法:'Ohai :: Config [:disabled_plugins] = [:passwd]' – lamont 2014-04-24 00:59:35

+1

这也解决了ohai使用问题的常见根本原因ruby的Etc模块枚举passwd条目,如果您将nss配置为使用LDAP,它将遍历您的LDAP目录。其他插件可能会生成大量的ohai节点数据,但Passwd插件是典型的犯罪者。 – lamont 2014-04-24 01:03:16

0

我也遇到了这个问题。看起来我们的客户正在将1.17meg送回厨师服务器。这些答案很好,但他们并没有真正说出如何诊断问题,因为在这种情况下你可以找到自己的多种原因。

1)我的服务器返回多少钱。

要找到此信息,您需要运行一个厨师在调试模式下运行。这使您可以访问从客户端发出的HTTP消息和响应消息。 厨师客户端-r'recipe [run_awesome_resources]” --log_level调试

手持尖端可以通过使用搜索项HTTP 1.1 413

2)要搜索的消息,所述绒毛我要把这些设置?

设置被放置在厨师配置文件中。你很少触碰这个文件,以免忘记它的位置。

/etc/opscode/chef-server.rb

您将需要运行一个重新配置命令来获得厨师服务器采取设置。 chef-server-ctl reconfigure

3)我必须改变什么设置?

此链接提供您可以使用的所有设置。

https://docs.chef.io/config_rb_server_optional_settings.html

的一个对于这个问题是:opscode_erchef [ 'max_request_size']

像这样文件

opscode_erchef [ 'max_request_size'] = 3000000#产量头的3megabit在房间。

一些答案指出你应该删除一些Ohia插件。这有效,但不是问题的根源。通过删除插件,您实际上可以减小对厨师服务器的请求大小。其结果是,它的工作原理,但可能会误导你将该插件归咎于问题的根源。