解决IIS默认的最大上传文件的限制
在win2003的IIS 6.0中,默认设置特别严格和安全,最大只能传送 204,800 个字节,这样可以最大限度地减少因太宽松的超时和限制而造成的攻击。做企业网站时,IIS 6 出于安全考虑,默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte,在 IIS 6.0 之前的版本中无此限制),上传图片时这个限制往往会影响正常使用,一般做网站都需要做修改的 。
IIS6.0下默认最大上传文件限制的解决办法:
第一步:修改IIS设置,允许直接编辑配置数据库。打开 Internet信息服务管理器,在“本地计算机”上点右键选属性,在Internet信息服务选项中选中“允许直接编辑配置数据库”。
第二步:在服务里关闭 iis admin service服务,找到windows\system32\inesrv\下的metabase.xml 打开,找到ASPMaxRequestEntityAllowed 修改为需要的值,默认为204800,即200K,如把它修改为20480000(20M)。
第三步:重启iis admin service服务。
IIS7.0以上的目录结构稍有变化,适用于Win2008以上的操作系统:
第一种解决方法:
打开C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml,找到如下内容:
其中,defaultValue="30000000",即IIS7.0默认限制上传文件大小为30000000字节(约28.6M)。
第二种解决方法:
打开IIS管理器–双击“IIS”中的“ASP”– 打开“配置 ASP 应该程序的属性”–展开“限制属性”;修改“最大请求实体主体限制”的值,默认值为200000(即不到200KB);
把它修改为你想修改的大小,如:52000000(50MB)。
修改完成点击“应用”就可以了,接下来就可以安心做网站了!
IIS8.5上传文件限制的办法,适用于Win2012以上的操作系统:
打开IIS8.5,选中要修改的网站,然后在“配置”区域找到“配置管理器”,接着找到节点system.webServer/security/requestFiltering,将requestlimits下的maxAllowedContentLength的值修改为我们需要的值,默认为30000000,即30M,我们可以将其修改为100M,也就是100000000。
接着我们再找到system.web/httpRuntime节点,将maxRequestLength的值也修改为我们需要的值,比如100000000,也就是100M。
当然了,我们也可以直接通过配置文件进行修改,C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml文件,网上很多教程不建议大家这么做,其实操作很简单,动手能力强的同学不妨一试。
虽然以上的修改是即时生效的,但是笔者还是建议大家修改完成后,重启下IIS或服务器。