出现 Request Entity Too Large问题的解决方法

nginx返回的错误

  配置多个vhost,nginx在处理header时实际分配的buffer大小,是解析conf后,default_server中的最终值。

  若http中有配置,server中无配置,以http中配置为准;若http中无配置,server中有配置,以server中配置为准;若http中无配置,server中无配置,以默认配置为准。

get请求:是因为请求头过大,最大可能是你参数太多,大于nginx的默认配置,修改参数

    client_header_buffer_size

    该参数对nginx服务器接受客户端请求的头信息时所分配的最大缓冲区的大小做了限制,也就是nginx服务器一次接受一个客户端请求可就收的最大都信息大小。

  这个头不仅包含 request-line,还包括通用信息头、请求头域、响应头域的长度总和。这也相当程度的限制了url的长度。nginx服务器默认的限制是4K或者8K,

  这是根据服务器的硬件配置有关的,一般为内存一页的大小,目前大部分为4K,即4096字节。

    large_client_header_buffers

    该参数对发自客户端的http头信息的大小进行了限制,这个值和large_client_header_buffers同时限制了http请求头的大小,

  超过其中一个值则服务器会返回错误状态码 414(Request-URI Too Large)。该参数的默认值为1K

post请求:因为post请求的内容都在body,上传资料可能会超过nginx的默认配置,修改参数

    client_max_body_size 

    该参数对发自客户端的http请求的消息实体大小进行了限制,如果超过该值,则会服务器会返回错误状态码 413(Request Entity Too Large)。

  此参数默认值为1MB,相当于是限制了post方式提交内容的最大限制

你可能感兴趣的:(前端)