.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 的日志文件,确认是否有其他错误信息。

相关推荐
爱隐身的官人19 分钟前
爬虫基础学习-爬取网页项目(二)
前端·爬虫·python·学习
Jackson@ML1 小时前
使用字节旗下的TREA IDE快速开发Web应用程序
前端·ide·trea
烛阴3 小时前
解锁 TypeScript 的元编程魔法:从 `extends` 到 `infer` 的条件类型之旅
前端·javascript·typescript
前端开发爱好者4 小时前
弃用 ESLint + Prettier!快 35 倍的 AI 格式化神器!
前端·javascript·vue.js
vivi_and_qiao4 小时前
HTML的form表单
java·前端·html
骑驴看星星a5 小时前
Vue中的scoped属性
前端·javascript·vue.js
四月_h5 小时前
在 Vue 3 + TypeScript 项目中实现主题切换功能
前端·vue.js·typescript
qq_427506085 小时前
vue3写一个简单的时间轴组件
前端·javascript·vue.js
雨枪幻。6 小时前
spring boot开发:一些基础知识
开发语言·前端·javascript
lecepin6 小时前
AI Coding 资讯 2025.8.27
前端·ai编程