]> git.kaiwu.me - nginx.git/commit
HTTP/2: per-iteration stream handling limit.
authorMaxim Dounin <mdounin@mdounin.ru>
Tue, 10 Oct 2023 12:13:39 +0000 (15:13 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Tue, 10 Oct 2023 12:13:39 +0000 (15:13 +0300)
commit6ceef192e7af1c507826ac38a2d43f08bf265fb9
tree3320e3e0af821ce3f3be15469420885cf7141b82
parentc37fdcdd1e1527d2c98cc68a978cf928589c7330
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.
src/http/v2/ngx_http_v2.c
src/http/v2/ngx_http_v2.h