.net core web项目部署IIS报错:HTTP 错误 413.1 - Request Entity Too Large

HTTP 错误 413.1 - Request Entity Too Large

这个报错的原因是因为IIS配置问题,IIS最大默认配置只有30M,超过30M就会报错

解决办法

  • 在程序中配置能接收最大字节大小
csharp 复制代码
//配置请求头中能最大接收多少数据
//builder.WebHost.UseKestrel(options =>
//{
//    //209715200:200M;524288000:500M  
//    options.Limits.MaxRequestBodySize =
//        builder.Configuration["RequestBodySize"] == null ?
//        long.Parse(builder.Configuration["RequestBodySize"]) : 209715200;
//});

builder.Services.Configure<IISServerOptions>(options =>
{
    options.MaxRequestBodySize = builder.Configuration["RequestBodySize"] == null ?
        long.Parse(builder.Configuration["RequestBodySize"]) : 209715200; // 设置为你想要的最大字节大小
});

//builder.Services.Configure<FormOptions>(x =>
//{
//    x.MultipartBodyLengthLimit = builder.Configuration["RequestBodySize"] == null ?
//        long.Parse(builder.Configuration["RequestBodySize"]) : 209715200; // 设置为你想要的最大字节大小
//    x.MultipartHeadersCountLimit = 10;
//});
  • 在接口上方加上属性:[DisableRequestSizeLimit]

  • IIS配置请求能接收最大字节

1.打开IIS管理器,找到站点对应的配置编辑器

2.找到system.webServer/security/requestFiltering节点,设置请求能接收最大字节数据;这里30000000值30M,可以在加一个0变成300M了

  • 看看不文件中的web.config文件是否有变化,箭头指的配置,如果不设置IIS是没有的,当然也可以直接copy配置过来
csharp 复制代码
<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="3000000000" />
        </requestFiltering>
    </security>
</system.webServer>
相关推荐
weixin_421994788 小时前
数学运算与逻辑判断 - 运算符与条件语句
.net·.netcore
weixin_421994784 天前
认识数据 - 变量与数据类型
c#·.net·.netcore
老龄程序员4 天前
记一次由于.netcore程序堆栈溢出的问题分析
.netcore
一然明月5 天前
.NET Core基础
.netcore
罗马苏丹默罕默德10 天前
Ubuntu下部署.NetCore WebApi的方法
数据库·ubuntu·.netcore
lingxiao1688812 天前
WebApi详解+Unity注入--中篇:.net core的WebAPI
unity·c#·.netcore
老龄程序员12 天前
基于OpenIddict6.4.0搭建的授权UI管理界面
.netcore
武藤一雄13 天前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁
冰茶_13 天前
WPF路由事件:隧道与冒泡机制解析
学习·c#·.net·wpf·.netcore·mvvm
武藤一雄13 天前
C# 关于GC垃圾回收需要注意的问题(持续更新)
后端·微软·c#·.net·.netcore