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,否则为空字符串。