好久没写博文了,每天忙得喘不过气来。最近是时候总结一下前段时间做的工作了,顺便缓解一下这两天的口臭。
今天我在内部安装了一个图片编辑系统。结果下午收到一个开发错误。错误信息如下:
<html> <head><title>413 Request Entity Too Large</title></head> <body bgcolor="white"> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>nginx/1.6.0</center> </body> <html>从提示信息中可以看出,问题是由客户端请求的内容过多引起的。进一步查看HTTP状态代码表,您可以看到该错误在HTTP协议中的定义如下:
ss="superseo">ss="superseo">服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。通过开发和交流,发现在前端程序中上传大于1M的图片时会产生上述错误信息。
以前看nginx的书,知道上传nginx涉及三个参数。
client_body_buffer_size # 配置请求实体缓存区大小。当上传的请求实体超出缓存区大小时,会写到client_body_temp_path配置的路径下去 client_body_temp_path # 设置临时文件存放路径,该路径必须有写权限,不然会报 500 错误 client_max_body_size # 设置上传文件的最大值,默认值为1M因此,我认为这个错误可能与client_max_body_size有关。
查了nginx的配置文件,发现这个值没有配置。这意味着该参数的默认值是1m..因此,我在这个配置文件中添加了相关参数:
client_body_temp_path /usr/local/nginx/html; client_body_buffer_size 128k; client_max_body_size 8M;添加后,重新加载nginx服务。开发端测试正常,问题解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)