如何增大Azure App Service中.NET 6应用的Max Request Headers Total Size
在Azure App Service(Windows)的.NET 6应用中增大请求头最大总大小(IIS环境)
针对你的场景(Azure App Service Windows + .NET 6 + IIS托管),需要同时调整IIS层面和ASP.NET Core应用层面的配置,以下是具体操作:
1. 修改web.config配置IIS请求头限制
Azure App Service Windows上的.NET Core应用依赖web.config与IIS交互,直接在项目中添加或编辑web.config,在<system.webServer>节点下加入请求头限制配置:
<system.webServer> <security> <requestFiltering> <!-- 单位:字节,示例设置为1MB(1048576字节),按需调整 --> <requestLimits maxRequestHeadersTotalSize="1048576" /> </requestFiltering> </security> <!-- 保留原有aspNetCore等节点配置 --> </system.webServer>
2. 在Program.cs中配置ASP.NET Core的IISServerOptions
由于IIS作为反向代理,ASP.NET Core需要明确允许更大的请求头,在Program.cs中添加如下配置:
var builder = WebApplication.CreateBuilder(args); // 配置IIS服务器的请求头大小限制 builder.Services.Configure<IISServerOptions>(options => { // 单位:字节,建议与IIS配置的数值保持一致 options.MaxRequestHeadersTotalSize = 1048576; }); // 其他服务注册、中间件配置... var app = builder.Build(); // ... app.Run();
3. 通过Azure App Service应用设置调整(云端快捷方式)
如果不想修改代码或配置文件,可直接在Azure门户的应用服务「配置」→「应用设置」中添加:
- 名称:
WEBSITE_MAX_REQUEST_HEADERS_SIZE - 值:
1048576(字节,按需修改)
该设置会覆盖IIS层面的默认限制,无需重新部署,重启应用即可生效。
注意事项
- 数值需根据实际业务需求设置,避免过大引发安全风险
- 确保IIS配置与ASP.NET Core配置的数值一致,避免出现限制冲突
- 配置完成后需重启应用服务使更改生效
内容的提问来源于stack exchange,提问作者TayfunArslan
相关产品推荐
相关产品推荐

