.NET CORE 部署IIS出现,文件上传413错误。

  1. 请求体大小

    • 请求头中显示 Content-Length: 144052,即请求体大小约为 144KB。

    • IIS 在处理请求时,尝试读取请求体,但在某个阶段触发了大小限制。

  2. 错误触发模块

    • 错误是在 IIS Web Core 模块中触发的,具体是在 BEGIN_REQUEST 阶段。

    • 日志中显示:

      xml复制

      复制代码
      <EventID>0</EventID>
      <Opcode>MODULE_SET_RESPONSE_ERROR_STATUS</Opcode>
      <Data Name="ModuleName">IIS Web Core</Data>
      <Data Name="Notification">1</Data>
      <Data Name="HttpStatus">413</Data>
      <Data Name="HttpReason">Request Entity Too Large</Data>
  3. 配置限制

    • 你在 web.config 中配置了 maxAllowedContentLength="1073741824"(1GB),这看起来足够大。

    • 但日志显示请求体大小(144KB)远低于这个值,说明问题可能出在其他地方。

分析与解决建议

  1. uploadReadAheadSize 配置问题

    • 你提到之前将 uploadReadAheadSize 设置为 0,这可能导致 IIS 无法正确读取请求体。

    • 建议 :将 uploadReadAheadSize 设置为一个合理的值,例如 10485760(10MB)。在 applicationHost.config 文件中添加或修改:

    路径:C:\Windows\System32\inetsrv\config\applicationHost.config
    xml复制

    复制代码
      <serverRuntime uploadReadAheadSize="10485760" />

    然后重启 IIS。需要注意增加部署项目名称为自身的项目名称。
    *

    复制代码
          <location path="部署项目名">
              <system.webServer>
                  <security>
                      <access sslFlags="Ssl, SslNegotiateCert" />
                  </security>
      	    <serverRuntime uploadReadAheadSize="1073741824" />
              </system.webServer>
          </location>
  2. IIS 请求过滤模块的限制

    • IIS 的请求过滤模块可能对请求体大小有限制。

    • 建议 :检查 IIS 的请求过滤模块配置,确保没有其他限制。在 applicationHost.config 文件中,找到 <requestFiltering> 节点,确保 maxAllowedContentLength 设置正确:

      xml复制

      复制代码
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
  3. ASP.NET Core 的请求体大小限制

    • 如果你的应用是 ASP.NET Core 应用,还需要在代码中配置请求体大小限制。

    • 建议 :在 Startup.csProgram.cs 中添加:

      csharp复制

      复制代码
      services.Configure<FormOptions>(x =>
      {
          x.MultipartBodyLengthLimit = 1073741824; // 1GB
      });
  4. 检查其他限制

    • 确保没有其他地方(如网络设备、代理服务器等)对请求体大小有限制。

    • 检查 IIS 的日志文件,确认是否有其他错误信息。

相关推荐
吃杠碰小鸡3 分钟前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone9 分钟前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_090128 分钟前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农40 分钟前
Vue 2.3
前端·javascript·vue.js
夜郎king1 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵2 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_2 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝2 小时前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions3 小时前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发3 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法