微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

413 错误:负载过大 - IIS - Windows Server 2016

如何解决413 错误:负载过大 - IIS - Windows Server 2016

当我尝试使用部署在 Windows Server 2016 上的 Asp.Net 核心 mvc 控制器上传文件 (>30mb) 时,我收到了 http 响应代码 413。

Web 服务正在 IIS 上运行(“进行中”)。

控制器看起来像:

[Route("api/[controller]")]
[ApiController]
public class FileController : ControllerBase
{
    [HttpPost]
    [disableRequestSizeLimit]
    [disableFormValueModelBinding]
    public async Task<ActionResult<Guid>> Upload(IFormFile file)
    {
       [...] 
    }
}

我在启动类中使用这个设置:

public void ConfigureServices(IServiceCollection services)
{
    [...]
    services.Configure<FormOptions>(x =>
    {
       x.MultipartBodyLengthLimit = long.MaxValue;
    });
}

而且我在我的应用 web.Config 中有这些设置以防止请求大小限制:

<system.webServer>
    <security>
        <requestfiltering>
            <requestLimits maxAllowedContentLength="1073741824" />
        </requestfiltering>
    </security>
    <serverRuntime maxRequestEntityAllowed="4294967295" uploadReadAheadSize="2147483647" />
</system.webServer>

当我在我的机器(Windows 10 + IIS)上本地运行它时,它运行良好

但是当我在 windows server 2016 机器上发布解决方案时,当我尝试上传大于 30mb 的文件时,我收到了 413 错误

注意:服务器上的 applicationHost.Config 允许覆盖这些部分:

system.webServer/security/requestfiltering/requestLimits

system.webServer/serverRuntime

解决方法

我意识到我的机器 3.1.3 和服务器机器 3.1.2 上的 .net 核心托管包版本不同。

在服务器上用最新的可用版本更新后,大文件的上传开始工作,没有产生 413 错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?