关于IIS7.0上传大文件出错的解决方案(描述:请求筛选模块被配置为拒绝超过请求内容长度的请求)
使用IIS7.0的asp上传大文件时出现如下错误:
HTTP Error 404.13 - Not Found
描述: 请求筛选模块被配置为拒绝超过请求内容长度的请求。
错误代码: 0x00000000
通知: BeginRequest
模块: RequestFilteringModule
请求的 URL:
物理路径: G:webu2upfile.asp
登录用户: 尚未确定
登录方法: 尚未确定
处理程序: ASPClassic
最可能的原因:
- Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
可尝试的操作:
- 确 认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
更多信息... 这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置 IIS 7.0 服务器以拒绝内容长度大于指定值的请求。如果请求的内容长度大于所配置的长度,便会返回此错误。如果需要增加内容长度,请修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。
这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置 IIS 7.0 服务器以拒绝内容长度大于指定值的请求。如果请求的内容长度大于所配置的长度,便会返回此错误。如果需要增加内容长度,请修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。服务器版本信息: Internet 信息服务 7.0。
Google了一下,相关帮助
访问是运行 Internet Information Services 7.0 服务器上承载 Web 站点时出现错误信息: " HTTP 错误 404.13 - CONTENT_LENGTH_TOO_LARGE "
解决方案如下
1. |
单击 开始 。 在 开始搜索 框中, 键入 Notepad. 右击 记事本 , 然后单击 作为管理员运行 。
注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。 |
2. |
在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%system32inetsrvconfigapplicationhost.config然后单击 打开 。
|
3. | 在 ApplicationHost.config 文件, 定位 < requestLimits > 节点。 |
4. |
删除 maxAllowedContentLength 属性。 或者, 添加值相匹配的 Content-Length 报头, 客户端发送请求作为大小。 默认情况下, 的 maxAllowedContentLength 属性值是 30000000。
|
5. | 保存 ApplicationHost.config 文件。 |
其实II7.0默认的出错,已经告诉我们如何做了,呵呵,这点要比IIS6.0人性化多了。
修改后cmd命令行下打iisreset重起IIS(或是直接使用IIS管理器重起),重新上传文件依旧出错。
不过这就是传统的错误了。
修改MaxRequestEntityAllowed 即可,IIS6.0里,需要如下操作(详见:突破IIS6上传和下载文件尺寸限制)
解决方法:
首先停止 IIS 服务,之后打开 C:WindowsSystem32Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 1073741824, 1GB)。
启动IIS服务。
IIS7.0里,内置的ASP模块已经带了这个属性,可以直接修改
步骤如下:
单击所需要站点的名称-在“功能视图”里面双击“ASP模块”,打开“限制属性”,将最后一项“最大请求实体主体限制[maxRequestEntityAllowed]”改为你需要的值(例如 1073741824, 1GB)。
同时,请注意如果你上传的文件较大,请考虑一下“脚本超时[scriptTimeOut]”是否需要更改,
默认是00:01:30,yaosansi这里改成了00:05:30,当然你也可以在ASP程序里更改超时时间。