It seems there is a bug when keep alive timeout is lower than tls accept timeout
By example using this :
let config = HttpServiceConfig::new()
.keep_alive_timeout(Duration::from_millis(1000))
.tls_accept_timeout(Duration::from_millis(4000))
;
Then doing some requests and shutdown the server, it will wait 4000ms (when connection is already open so there is no tls accept at this time)
Can be checked with current http tests, i'm not sure how the lazy deadline work so didn't do a PR but if you have some pointer can do it.