超出内部响应标头大小限制

2024-03-23

当我重定向到相关网站的其他部分时,会发生此错误。

return this.RedirectToActionPermanent("Index", "Dashboard"

在错误发生之前,代码不会单步执行仪表板控制器中的 Index 方法。

我认为发布的 Fiddler 响应头不是错误消息中的 >internal

谁能解释如何最好地增加内部响应标头的大小限制?

或者,我们是否正在考虑需要压缩内部响应标头作为解决方案?

供您参考,上面的重定向调用在大约 3 个月的时间里日复一日地工作,直到大约 5 天前中断。

[编辑1] program.cs 文件现在看起来像:

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().ConfigureKestrel((context, options) => {
            options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(5);
            options.Limits.MaxResponseBufferSize = 1024000;
            options.Limits.Http2.HeaderTableSize = 16384;
        });

然而,同样的错误仍然发生。

[编辑 2 2019 年 3 月 18 日凌晨 2:28] 该问题是由于其中一位配置文件用户未填写用户声明(身份表)而引起的。我在 SSMS 中手动填写数据,错误就不再发生了。

TIA.

David


我也遇到过类似的问题,对我来说 这是由很久以前发生的 WinHTTP 中的错误引起的(核心 2.0)。当发生重定向响应时,WinHTTP 更愿意重用相同的连接来遵循重定向。 耗尽的响应字节数由 WinHttpHandler.MaxResponseDrainSize 控制。 当响应大小超过 MaxResponseDrainSize 时,请求将中止并出现指定错误。

当我升级到2.1后,这个问题消失了

  • Update 超时问题

您添加的设置为 KeepAliveTimeout = TimeSpan.FromMinutes(5);适用于 Kestrel,但不适用于 IIS。 IIS 和 Kestrel 之间存在反向代理设置。所以您将 Kestrel 的超时设置为 5 分钟。但 IIS 的默认超时时间为 120 秒。您可以更改超时时间IIS->站点->选择您的站点->高级设置->限制->连接超时。 尝试更改此设置以检查是否会发生此错误。

Also there is another setting available in Configuration Editor enter image description here enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超出内部响应标头大小限制 的相关文章

随机推荐