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

相关推荐
前端百草阁几秒前
【前端性能优化全链路指南】从开发编写到构建运行的多维度实践
前端·性能优化
女生也可以敲代码22 分钟前
AI时代下的50道前端开发面试题:从基础到大模型应用
前端·面试
ZhengEnCi29 分钟前
M5-markconv自定义CSS样式指南 📝
前端·css·python
IT_陈寒1 小时前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
xingpanvip1 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
@PHARAOH1 小时前
WHAT - GitLens supercharged 插件
前端
TT模板1 小时前
苹果cms整合西瓜播放器XGplayer插件支持跳过片头尾
前端·html5
Wect2 小时前
React 性能优化精讲
前端·react.js·性能优化
追风筝的人er3 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
无敌的黑星星3 小时前
Java8 CompletableFuture 实战指南
linux·前端·python