Nginx

ngx_http_v2_module

Module ngx_http_v2_module

  • 已知的问题

  • 示例配置

  • 指令

  • http2_chunk_size

  • http2_body_preread_size

  • http2_idle_timeout

  • http2_max_concurrent_streams

  • http2_max_field_size

  • http2_max_header_size

  • http2_max_requests

  • http2_recv_buffer_size

  • http2_recv_timeout

  • Embedded Variables

所述ngx_http_v2_module模块(1.9.5)提供了一种用于支持HTTP / 2,并且取代的ngx_http_spdy_module模块。

该模块不是默认生成的,它应该使用--with-http_v2_module配置参数启用。

已知的问题

在版本1.9.14之前,无论proxy_request_buffering,fastcgi_request_buffering,uwsgi_request_buffering和scgi_request_buffering指令值如何,都无法禁用客户端请求主体的缓冲。

示例配置

server { listen 443 ssl http2; ssl_certificate server.crt; ssl_certificate_key server.key; }

请注意,通过TLS接受HTTP / 2连接需要“应用层协议协商”(ALPN)TLS扩展支持,该支持自OpenSSL版本1.0.2 以来才可用。为此目的使用“Next Protocol Negotiation”(NPN)TLS扩展(自OpenSSL版本1.0.1后可用)不能保证能够正常工作。

另请注意,如果ssl_prefer_server_ciphers指令设置为值“ on”,则应将密码配置为符合RFC 7540,附录A黑名单并由客户端支持。

指令

句法:http2_chunk_size大小;
默认:http2_chunk_size 8k;
语境:http,服务器,位置

设置响应正文切片的块的最大大小。值太低会导致更高的开销。由于HOL阻止,过高的值会影响优先级。

句法:http2_body_preread_size大小;
默认:http2_body_preread_size 64k;
语境:http,服务器

设置size每个请求的缓冲区,在请求正文开始处理之前,可以在其中保存请求正文。

句法:http2_idle_timeout时间;
默认:http2_idle_timeout 3m;
语境:http,服务器

设置连接关闭后的非活动超时时间。

句法:http2_max_concurrent_streams数字;
默认:http2_max_concurrent_streams 128;
语境:http,服务器

设置连接中并发HTTP / 2流的最大数量。

句法:http2_max_field_size大小;
默认:http2_max_field_size 4k;
语境:http,服务器

限制HPACK压缩的请求标头字段的最大大小。该限制同样适用于名称和价值。请注意,如果应用霍夫曼编码,解压缩的名称和值字符串的实际大小可能会更大。对于大多数请求,默认限制应该足够了。

句法:http2_max_header_size大小;
默认:http2_max_header_size 16k;
语境:http,服务器

限制HPACK解压缩后整个请求标题列表的最大大小。对于大多数请求,默认限制应该足够了。

句法:http2_max_requests数字;
默认:http2_max_requests 1000;
语境:http,服务器

设置可通过一个HTTP / 2连接提供服务的最大请求数,在该连接关闭之后,客户端应使用新的连接。

句法:http2_recv_buffer_size大小;
默认:http2_recv_buffer_size 256k;
语境:HTTP

设置每个工作人员输入缓冲区的大小。

句法:http2_recv_timeout时间;
默认:http2_recv_timeout 30s;
语境:http,服务器

设置期望来自客户端的更多数据的超时,之后关闭连接。

嵌入式变量

ngx_http_v2_module模块支持以下嵌入式变量:

$http2协商的协议标识符:“ h2”用于HTTP / 2 over TLS,“ h2c”用于HTTP / 2 over cleartext TCP,否则为空字符串。