I ran into this problem also. It seems that our clients were sending 1.17meg back to the chef server. These answers are good but they don't really say how to diagnose the issue as there are multiple reasons you can find yourself in this situation.
1) How much is my server sending back.
To find this information you need to run a chef run in debug mode. This gives you access to the HTTP messages being sent out from the client and the response messages.
chef-client -r'recipe[run_awesome_resources]' --log_level debug
Handy tip the message can be searched for by using the search term http 1.1 413
2) Where the fluff do I put these settings?
The settings are placed in the chef configuration file. You touch this file so rarely that you are forgiven for forgetting its locations.
/etc/opscode/chef-server.rb
You will need to run a reconfigure command to get the chef server to take to setting. chef-server-ctl reconfigure
3) What setting must I change?
This link gives all the settings you can use.
https://docs.chef.io/config_rb_server_optional_settings.html
The one for this problem is: opscode_erchef['max_request_size']
Like so in the file
opscode_erchef['max_request_size'] = 3000000 # Yields 3megabit of head room.
Some of the answers state that you should remove some Ohia plugins. This works but is not the root of the problem. By removing the plugins you are in fact reducing the size of the request to the chef server. The result is that it works but, could mislead you to blame the plugin as the root cause of the problem.