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

相关推荐
天天扭码26 分钟前
如何实现流式输出?一篇文章手把手教你!
前端·aigc·ai编程
前端 贾公子38 分钟前
vue移动端适配方案 === postcss-px-to-viewport
前端·javascript·html
GISer_Jing2 小时前
AI营销增长:4大核心能力+前端落地指南
前端·javascript·人工智能
明远湖之鱼2 小时前
一种基于 Service Worker 的渐进式渲染方案的基本原理
前端
前端小端长3 小时前
Vue 中 keep-alive 组件的原理与实践详解
前端·vue.js·spring
FeelTouch Labs3 小时前
Nginx核心架构设计
运维·前端·nginx
雪球工程师团队3 小时前
别再“苦力”写后台,Spec Coding “跑” 起来
前端·ai编程
m0_471199633 小时前
【场景】前端怎么解决离线收银、数据同步异常等场景问题
前端·javascript
Curvatureflight4 小时前
前端性能优化实战:从3秒到300ms的加载速度提升
前端·人工智能·性能优化