nginx 常见错误及解决方式

  1. 413 Request Entity Too Large(原文链接 http://ddbiz.com/?p=141)

    通过 nginx/linux 转发到 asp.net/iis 上的一段文件上传,出现了 413 Request Entity Too Large的错误。这是因为上传的文件太大造成,可以修改 server {} 中的如下值:

    client_max_body_size 1m;  ==>

    client_max_body_size 5m;  

    增加内容传输的数据量

  2. proxy_pass的iis端无法获得客户端传来的文件

    这个问题是紧跟第一问题出现的。

    nginx的一个virtual host的配置为:

    server{

    location ~ {

    proxy_pass http://localhost:1237;

    client_max_body_size 5m;

    ... ...

  }
  }
   nginx把客户端上传的文件转发给 http://localhost:1237; 最初的配置采用默认配置,client_max_body_size = 1m; 大于1m的图片不能被接受。但是当我们把 client_max_body_size=5m;后,图片是可以上传了(可以通过设定 location {client_body_in_file_only on;}看到 nginx 把传入的内容存入了目录),但是后端的iis/asp.net在获取 httprequest.files时,出现超时,不能正确获得上传的文件。
经过仔细调试配置,发现,除了在 location {client_max_body_size 5m;} 之外,server {client_max_body_size 5m;}的这个设置也不能缺失。虽然没有仔细测试过,但是直觉上, server.client_max_body_size > location.client_max_body_size时,location下的转发才能发挥作用。
(原文链接 http://ddbiz.com/?p=141)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值