我正在注册一个在运行列表中搜索其他节点属性的节点。问题是当节点信息太大而无法通过 HTTP 放在服务器上时。
然后 chef-client 打印一个 'FATAL: Net::HTTPServerException: 413 "Request Entity Too Large"' 消息。
服务器位于 Opscode Hosted Chef 中。
任何人都可以帮助我解决这个问题吗?
谢谢!!
我正在注册一个在运行列表中搜索其他节点属性的节点。问题是当节点信息太大而无法通过 HTTP 放在服务器上时。
然后 chef-client 打印一个 'FATAL: Net::HTTPServerException: 413 "Request Entity Too Large"' 消息。
服务器位于 Opscode Hosted Chef 中。
任何人都可以帮助我解决这个问题吗?
谢谢!!
更改 nginx 配置对我不起作用。但是,我确实从 Chef 社区网站 IRC 日志(由 Joshua Timberman 提供)中找到了以下内容,它对我有用(Chef 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 版本中得到修复。
这与 http 服务器的上传大小限制有关。我之前听说有人在 Hosted Chef 上遇到过这个问题,我自己也曾在 OpenSource Chef 上经历过。然而,在 OpenSource Chef 上,我有能力做一些事情来增加限制。
并不是说这一定会帮助您使用 Hosted Chef,但我的 nginx.conf 需要我在 http 部分添加这一行:
client_max_body_size 2M;
这在我重新加载 nginx 并为我解决问题后提高了限制。
(在 Apache 上,我相信这将是 .htaccess 或 httpd.conf 文件中的 LimitRequestBody 属性)
至于您的问题,我听到人们尝试的建议是减小节点信息的大小。在某些情况下这并不容易,但据说一些 OHAI 插件会导致这种情况发生,删除它们可以解决它。
我不知道这是否会对您的情况有很大帮助,但也许它会帮助遇到这种情况的使用 OpenSource Chef 的人。
祝你好运!
我也遇到了这个问题。似乎我们的客户正在将 1.17meg 发送回厨师服务器。这些答案很好,但他们并没有真正说明如何诊断问题,因为您会发现自己处于这种情况有多种原因。
1)我的服务器发回多少。
要查找此信息,您需要在调试模式下运行厨师运行。这使您可以访问从客户端发出的 HTTP 消息和响应消息。chef-client -r'recipe[run_awesome_resources]' --log_level 调试
方便的提示可以使用搜索词http 1.1 413搜索消息
2)我把这些设置放在哪里?
这些设置位于 chef 配置文件中。你很少接触这个文件,以至于你忘记了它的位置是可以原谅的。
/etc/opscode/chef-server.rb
您将需要运行重新配置命令来让厨师服务器进行设置。chef-server-ctl 重新配置
3) 我必须更改什么设置?
此链接提供了您可以使用的所有设置。
https://docs.chef.io/config_rb_server_optional_settings.html
这个问题的一个是:opscode_erchef['max_request_size']
像这样在文件中
opscode_erchef['max_request_size'] = 3000000 # 产生 3 兆位的头部空间。
一些答案表明您应该删除一些 Ohia 插件。这有效,但不是问题的根源。通过删除插件,您实际上减少了对厨师服务器的请求大小。结果是它可以工作,但是可能会误导您将插件归咎于问题的根本原因。
2019 年的另一个更新。
如果运行chef-client
抛出错误HTTPServerException: 413 "Request Entity Too Large"
检查:
ohai.disabled_plugins = [:Passwd]
存在于/etc/chef/client.rb
服务器上ohai.disabled_plugins = [:Passwd]
存在于/etc/chef/client.rb
引发错误的客户端上