IIS7/8下提示 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求

本文介绍了解决IIS7中HTTP错误404.13的方法,通过修改applicationhost.config和web.config文件来调整文件上传大小限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://www.leadto.com.cn/ITnews/2770.html


IIS7的设置和IIS6有很多不同之处,这里提到的的是一个上传附件大小设置的问题。

HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。

原因:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大小时30M)。

解决:更改asp.net文件上传大小限制

  • 1.修改IIS的applicationhost.config

文件位置: %windir%/system32/inetsrv/config/applicationhost.config

找到<requestFiltering>节点,该节点下默认没有 <requestLimits maxAllowedContentLength="上传大小的值(单位:byte)" /> 元素。为这个节点添加如下元素:<requestLimits maxAllowedContentLength="2147483647" /> (上传的大小将改为2G)

  • 2.web.config中,添加如下内容
<configuration>

  <system.web>

     <httpRuntime maxRequestLength="2097151" executionTimeout="120"/>

  </system.web>

</configuration>

说明:

  httpRuntime :配置 ASP.NET HTTP 运行时设置,以确定如何处理对 ASP.NET 应用程序的请求。

  `maxRequestLength` : (指示 ASP.NET 支持的最大文件上载大小)

    指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。

    默认值为 4096 (4 MB),最大值只能是2097151K。

executionTimeout
    指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。默认90秒。

    只有当 compilation 元素中的调试属性为 False 时,此超时属性才适用。若要帮助避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。

  • 3.web.config中,把以下内容加在<system.webServer>节点
<security>

  <requestFiltering >

    <requestLimits maxAllowedContentLength="2147483647" ></requestLimits>

  </requestFiltering>

</security>
上述中maxAllowedContentLengt是以BK为单位。

ASP.NET配置设置: http://msdn.microsoft.com/zh-cn/library/b5ysx397(v=VS.80).aspx

<think>我们正在解决Windows Server 2022 Datacenter中出现的HTTP错误404.3 - Not Found问题。这个错误通常与服务器配置有关,特别是当请求的文件类型没有被正确映射或相应的处理程序未启用时。 根据错误代码404.3,这意味着服务器无法为请求的页面提供服务,因为页面扩展名未被识别或未配置相应的处理程序。常见的解决方案包括: 1. 确保已安装所需的IIS功能(例如,对于ASP.NET应用程序,需要安装ASP.NET模块)。 2.IIS中为相应的文件扩展名添加MIME类型。 3. 确保处理程序映射中已启用相应的处理程序。 参考引用[2]中提到了分区和块设备的管理,虽然与IIS配置不直接相关,但提醒我们系统配置的复杂性,需要仔细检查各个配置环节。 以下是具体步骤: 步骤1:安装必要的IIS功能 对于不同的应用程序,可能需要不同的IIS功能。例如,如果试图运行ASP.NET应用程序,则需要安装ASP.NET模块。 打开“服务器管理器”,选择“添加角色和功能”,在“功能”部分,确保以下项目已安装: - .NET Framework 4.8 功能(根据应用程序需求选择版本) - ASP.NET 4.8 - 在“Web服务器(IIS)”->“Web服务器”->“应用程序开发”中,确保已安装相应的模块(如ASP.NET)。 步骤2:添加MIME类型 如果请求的文件类型未被IIS识别,需要在IIS管理器中添加MIME类型。 1. 打开IIS管理器。 2. 选择服务器节点或特定站点。 3. 双击“MIME类型”。 4. 如果缺少所需的扩展名,点击右侧的“添加...”,输入文件扩展名(如.woff2)和对应的MIME类型(例如,对于.woff2,可以设置为application/font-woff2)。 步骤3:检查处理程序映射 1.IIS管理器中,选择服务器节点或特定站点。 2. 双击“处理程序映射”。 3. 确保与请求的文件类型相关的处理程序已存在且已启用。例如,对于ASP.NET,应该有`ExtensionlessUrlHandler-Integrated-4.0`等处理程序。 4. 如果没有,可能需要添加相应的处理程序。例如,对于静态文件,静态文件处理程序应该存在。 步骤4:检查请求过滤 有时,请求过滤可能会阻止某些文件扩展名。 1.IIS管理器中,选择服务器节点或特定站点。 2. 双击“请求筛选”。 3. 在“文件扩展名”选项卡中,确保要访问的文件扩展名未被阻止(如果被阻止,可以删除或允许该扩展名)。 步骤5:检查静态内容功能 如果请求的是静态文件(如.html, .css, .js, 图片等),请确保在IIS中安装了“静态内容”功能。 1. 在“服务器管理器”中,添加角色和功能。 2. 转到“Web服务器(IIS)”->“Web服务器”->“常见HTTP功能”。 3. 确保“静态内容”已安装。 步骤6:检查文件是否存在 确保请求的文件实际存在于网站的根目录或相应目录中。 步骤7:检查应用程序池 1.IIS管理器中,选择应用程序池。 2. 确保网站使用的应用程序池已启动,并且.NET CLR版本与应用程序匹配(例如,如果应用程序是ASP.NET 4.x,则选择v4.0)。 步骤8:检查权限 确保IIS用户(通常是IIS_IUSRS)对网站目录具有读取权限。 以上步骤应能解决大多数404.3错误。如果问题仍然存在,可能需要查看详细的错误日志(在IIS中启用失败请求跟踪)以获取更多信息。 根据引用[1]中关于错误处理的原则,如果问题复杂且无法通过常规步骤解决,可能需要更深入的调查或寻求专业支持。 相关问题: 1. 如何启用IIS的详细错误日志? 2. 在Windows Server 2022中如何配置SSL证书? 3. 如何优化IIS以提高网站性能?</think>### Windows Server 2022 Datacenter HTTP Error 404.3 解决方案 HTTP错误404.3通常发生在IIS无法处理特定文件类型的请求时,主要原因是**缺少MIME类型映射**或**未安装对应的处理程序模块**。以下是系统化的解决步骤: --- #### 步骤1:安装必要的IIS功能组件 1. 打开 **服务器管理器** → **添加角色和功能** 2. 导航到: ```plaintext 服务器角色 → Web服务器(IIS) → Web服务器 → 应用程序开发 ``` 3. **勾选以下关键模块**: - ASP.NET 4.8(若使用.NET框架) - .NET Extensibility 4.8 - ISAPI扩展/过滤器 - 静态内容(基础模块- CGI(若需执行脚本) 4. 确认安装并重启IIS > 📌 注:根据引用[2]的系统配置原则,混合模块可能导致兼容问题,建议安装与应用程序匹配的组件[^2]。 --- #### 步骤2:添加缺失的MIME类型 1. 打开 **IIS管理器** → 选择目标站点 2. 双击 **MIME类型** 3. 点击右侧 **添加...** 4. 输入扩展名和对应类型(常见示例): | 文件扩展名 | MIME类型 | |------------|----------| | `.svg` | image/svg+xml | | `.woff2` | font/woff2 | | `.json` | application/json | | `.webp` | image/webp | 5. 点击 **确定** 保存 --- #### 步骤3:验证处理程序映射 1.IIS中双击 **处理程序映射** 2. **检查关键映射是否存在**: - `StaticFile`(处理静态文件) - `ASPClassic`(处理ASP脚本) - `svc-Integrated`(WCF服务) 3. 若缺失则 **恢复为父项继承**: - 右侧操作栏 → **恢复为父项** --- #### 步骤4:检查请求过滤限制 1. 双击 **请求筛选** 2. 切换到 **文件扩展名** 标签页 3. 确保目标扩展名(如`.json`, `.config`)**未被显式拒绝** 4. 若有拒绝项 → 选择后点击 **删除** --- #### 步骤5:权限与路径验证 1. **文件物理路径**: - 确认请求的文件实际存在于站点目录 - 检查文件名大小写(Linux区分大小写) 2. **NTFS权限**: - 右键站点文件夹 → **属性** → **安全** - 添加 `IIS_IUSRS` 组并赋予 **读取** 权限 --- #### 步骤6:高级故障排除 若仍失败: 1. 启用详细错误日志: ```powershell Set-WebConfigurationProperty -Filter /system.webServer/httpErrors -Name errorMode -Value Detailed ``` 2. 检查 **事件查看器** → Windows日志 → 应用程序 3. 使用失败请求跟踪: - IIS中打开 **失败请求跟踪规则** - 定义404.3错误捕获规则 > ⚠️ 根据引用[1]的故障处理原则,复杂网络问题需谨慎操作避免连锁故障[^1]。 --- ### 关键配置示例 典型ASP.NET应用所需的最小IIS模块: ```plaintext ✔ Static Content ✔ Default Document ✔ Directory Browsing ✔ HTTP Errors ✔ ASP.NET 4.8.NET Extensibility 4.8 ✔ ISAPI Extensions ✔ ISAPI Filters ``` --- ### 相关问题 1. 如何为IIS配置自定义HTTP错误页面? 2. Windows Server 2022中如何启用HTTP/2协议? 3. IIS应用程序池崩溃的常见原因及排查方法? 4. 如何优化Windows Server 2022的IIS性能? > 解决方案需结合具体应用环境调整,建议修改前备份`applicationHost.config`(路径:`C:\Windows\System32\inetsrv\config\`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值