]> git.kaiwu.me - nginx.git/commit
HTTP/2: "http2" directive.
authorRoman Arutyunyan <arut@nginx.com>
Tue, 16 May 2023 12:30:08 +0000 (16:30 +0400)
committerRoman Arutyunyan <arut@nginx.com>
Tue, 16 May 2023 12:30:08 +0000 (16:30 +0400)
commitaefd862ab197c3ab49001fcf69be478aab5b0f4e
tree7c28971738b77c00264052ac32ee12f79fa2b1a4
parentcb70d5954c65b5683bc1c104bbf2466b73f4aa2b
HTTP/2: "http2" directive.

The directive enables HTTP/2 in the current server.  The previous way to
enable HTTP/2 via "listen ... http2" is now deprecated.  The new approach
allows to share HTTP/2 and HTTP/0.9-1.1 on the same port.

For SSL connections, HTTP/2 is now selected by ALPN callback based on whether
the protocol is enabled in the virtual server chosen by SNI.  This however only
works since OpenSSL 1.0.2h, where ALPN callback is invoked after SNI callback.
For older versions of OpenSSL, HTTP/2 is enabled based on the default virtual
server configuration.

For plain TCP connections, HTTP/2 is now auto-detected by HTTP/2 preface, if
HTTP/2 is enabled in the default virtual server.  If preface is not matched,
HTTP/0.9-1.1 is assumed.
src/http/modules/ngx_http_ssl_module.c
src/http/ngx_http_core_module.c
src/http/ngx_http_request.c
src/http/v2/ngx_http_v2.c
src/http/v2/ngx_http_v2.h
src/http/v2/ngx_http_v2_module.c
src/http/v2/ngx_http_v2_module.h