当上传一个超过30M的文件时,服务器会重定向至404.13页面,报错如下:
HTTP Error 404.13 - Not Found
The request filtering module is configured to deny a request that exceeds the request content length.
此请求的查询字符串的长度超过配置的 maxQueryStringLength 值
一、全局配置 C:\Windows\System32\inetsrv\config目录下的applicationhost.config (iis配置文件)
1. 配置节system.webServer/security/requestFiltering/ 下增加以下配置
maxAllowedContentLength的单位为Bytes
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="40000000" />
</requestFiltering>
<security>
<system.webServer>
二、局部配置
1. applicationhost.config允许配置覆盖, "Deny" to "Allow" like so: (IIS7.5 默认Allow)
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<section name="basicAuthentication" overrideModeDefault="Deny" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="digestAuthentication" overrideModeDefault="Deny" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="windowsAuthentication" overrideModeDefault="Deny" />
</sectionGroup>
<section name="authorization" overrideModeDefault="Allow" />
<section name="ipSecurity" overrideModeDefault="Deny" />
<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="requestFiltering" overrideModeDefault="Allow" />
</sectionGroup>
2. Web.config文件 system.webServer/security/节下增加以下配置
<system.webServer>
<security>
<requestFiltering>
<!--单位字节Byte(2048000)-->
<requestLimits maxUrl="409600" maxQueryString="204800" maxAllowedContentLength="2097152" />
</requestFiltering>
<security>
<system.webServer>
Web,config
<configuration>
<system.web>
<httpRuntime maxRequestLength="999999999" maxQueryStringLength="2097151" />
</system.web>
</configuration>