.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>
相关推荐
1-1=011 小时前
C# IO和序列化
c#·.net·.netcore
宝桥南山1 天前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=02 天前
C# 特性(Attribute)
c#·.net·.netcore
淡海水3 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
1-1=03 天前
C# 反射
c#·.net·.netcore
1-1=04 天前
C# 泛型
c#·.net·.netcore
淡海水6 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
1-1=06 天前
.NET Core 编译技术
.net·.netcore
1-1=07 天前
.NET Core 文件系统
.net·.netcore·1024程序员节
1-1=08 天前
.NET Core 内存管理
.net·.netcore