diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2023-10-10 15:13:39 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2023-10-10 15:13:39 +0300 |
commit | 6ceef192e7af1c507826ac38a2d43f08bf265fb9 (patch) | |
tree | 3320e3e0af821ce3f3be15469420885cf7141b82 /src/http/v2/ngx_http_v2.h | |
parent | c37fdcdd1e1527d2c98cc68a978cf928589c7330 (diff) | |
download | nginx-6ceef192e7af1c507826ac38a2d43f08bf265fb9.tar.gz nginx-6ceef192e7af1c507826ac38a2d43f08bf265fb9.zip |
HTTP/2: per-iteration stream handling limit.
To ensure that attempts to flood servers with many streams are detected
early, a limit of no more than 2 * max_concurrent_streams new streams per one
event loop iteration was introduced. This limit is applied even if
max_concurrent_streams is not yet reached - for example, if corresponding
streams are handled synchronously or reset.
Further, refused streams are now limited to maximum of max_concurrent_streams
and 100, similarly to priority_limit initial value, providing some tolerance
to clients trying to open several streams at the connection start, yet
low tolerance to flooding attempts.
Diffstat (limited to 'src/http/v2/ngx_http_v2.h')
-rw-r--r-- | src/http/v2/ngx_http_v2.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/v2/ngx_http_v2.h b/src/http/v2/ngx_http_v2.h index cb9014ccf..6751b3026 100644 --- a/src/http/v2/ngx_http_v2.h +++ b/src/http/v2/ngx_http_v2.h @@ -131,6 +131,8 @@ struct ngx_http_v2_connection_s { ngx_uint_t processing; ngx_uint_t frames; ngx_uint_t idle; + ngx_uint_t new_streams; + ngx_uint_t refused_streams; ngx_uint_t priority_limit; size_t send_window; |