diff --git a/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs b/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs index be0bf72314f6..6f8012b5f108 100644 --- a/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs +++ b/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs @@ -33,8 +33,9 @@ public class KestrelServerLimits // Matches the default LimitRequestFields in Apache httpd. private int _maxRequestHeaderCount = 100; - // Matches the default http.sys connectionTimeout. - private TimeSpan _keepAliveTimeout = TimeSpan.FromMinutes(2); + // Slightly more than SocketHttpHandler's old PooledConnectionIdleTimeout of 2 minutes. + // https://github.com/dotnet/runtime/issues/52267 + private TimeSpan _keepAliveTimeout = TimeSpan.FromSeconds(130); private TimeSpan _requestHeadersTimeout = TimeSpan.FromSeconds(30); @@ -169,7 +170,7 @@ public long? MaxRequestBodySize /// /// Gets or sets the keep-alive timeout. - /// Defaults to 2 minutes. + /// Defaults to 130 seconds. /// /// /// diff --git a/src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs b/src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs index fd8146804e17..e7b8372a1231 100644 --- a/src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs +++ b/src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs @@ -150,7 +150,7 @@ public void MaxRequestHeaderCountValid(int value) [Fact] public void KeepAliveTimeoutDefault() { - Assert.Equal(TimeSpan.FromMinutes(2), new KestrelServerLimits().KeepAliveTimeout); + Assert.Equal(TimeSpan.FromSeconds(130), new KestrelServerLimits().KeepAliveTimeout); } [Theory]