You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Web API模板项目时出现Error 431错误求助

解决方案

HTTP Error 431 是请求头字段或请求行超出服务器限制导致的,Kestrel 默认的请求头大小限制比 IIS Express 更严格,所以会出现这种运行差异。可以通过以下两种方法调整 Kestrel 的配置来解决:

方法1:通过代码配置 Kestrel

在项目的 Program.cs 中添加 Kestrel 请求限制配置:

var builder = WebApplication.CreateBuilder(args);

// 配置Kestrel请求大小限制
builder.WebHost.ConfigureKestrel(serverOptions =>
{
    // 增大请求头总大小限制为64KB(默认值为32KB)
    serverOptions.Limits.MaxRequestHeadersTotalSize = 65536;
    // 若存在请求行过长的情况,可同步调整此值
    serverOptions.Limits.MaxRequestLineSize = 65536;
});

// 保留项目原有代码
builder.Services.AddControllers();
// ...

var app = builder.Build();

// ...中间件配置...

app.Run();

方法2:通过配置文件调整

在 appsettings.json 中添加 Kestrel 的限制配置项:

{
  "Kestrel": {
    "Limits": {
      "MaxRequestHeadersTotalSize": 65536,
      "MaxRequestLineSize": 65536
    }
  },
  // 保留项目原有配置内容
}

调整完成后重启 Kestrel 服务即可解决431错误。如果仍有问题,可以进一步检查请求中是否包含过大的自定义请求头或Cookie,必要时可适当调大上述配置数值。

内容的提问来源于stack exchange,提问作者Joe Schmucker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 18:52:04