我们的网络应用程序的用户偶尔会遇到以下错误消息:
Request Entity Too Large
The requested resource
/ourapp/ourlocation/
does not allow request data with GET requests, or the amount of data provided in the request exceeds the capacity limit.
我们检查了我们的日志,但是我们无法找到任何与上述错误相关的条目。在做了一些研究之后,我认为问题是请求的某些方面对于某些代理服务器来说太大而且代理将413错误返回到用户的Web浏览器。 (但这只是猜测。)
您是否有任何想法可以找出造成此错误的原因?到目前为止,我已使用Charles Web Debugging Proxy和LiveHTTPHeaders尝试观察每个字节数对给定页面的请求正在使用。
以下是一些可能有助于我进行问题排查的其他问题。
答案 0 :(得分:3)
如果它是一个代理服务器返回错误,那么我希望有另一个响应头在那里有代理的名称。也许是“X-Via”或“Server”标题?
对你的问题...... 1& 3是由代理服务器决定的。 2:我认为请求中的每个字节都会计入限制。
为了测试这个,我会创建一个控制台应用程序,以保持发送更大的&更大的“GET”请求,直到它收到413回来。然后你可以让其中一个用户运行它,看看它是否可以重现。
答案 1 :(得分:3)
对于作为反向代理的nginx,我必须添加:
proxy_set_header Destination $dest;
client_max_body_size 1000m; #100m shoul'd do fine too
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;