nginx开启http2配置说明
HTTP/2协议支持的约束如下:HTTP/2协议仅在HTTPS监听上支持,不支持明文HTTP2(HTTP/2 Cleartext)支持当前HTTP/2只启用在客户端到SLB之间的链路,SLB到后端服务器之间的连接依然是HTTP/1.X支持HTTP/2的请求会统计到监听/实例的QPS中,与HTTP/1.X的QPS请求统一计数...
nginx http2协议:
http2协议仅在https监听上支持,不支持明文http2 http2 cleartext。
当前http2只启用在客户端到waf之间的链路,waf到后端服务器之间的连接依然是http1.x
http2的请求会统计到监听/实例的qps中,与http1.x的qps请求统一计数。
在http2链路中所有后端发给waf的回应,根据协议要求,会将head中所有字段的名称改为小写字母,如Content-Type会被改写为content-type。
单个连接支持的最大并发stream数为128
http2的连接超时时间为180秒
启用http2协议:
客户端在建立tls连接的 Client Hello 握手,通过alpn扩展列出了自己支持的各种应用层协议,HTTP/2 协议名称是 h2。
负载均衡https监听会侦测客户端发起的握手报文ClientHello中的alpn字段,进行协议版本的协商。
若客户端ClientHello报文中没有携带alpn字段,则按照http1.x的请求逻辑来处理,反之按照http2的请求逻辑处理。
浏览器 | 服务器 | 协商结果 |
不支持http2 | 不支持http2 | 不协商使用http1.1 |
不支持http2 | 支持http2 | 不协商使用http1.1 |
支持http2 | 不支持http2 | 协商使用http1.1 |
支持http2 | 支持http2 | 协商使用http1.1
|
配置格式,在listen命令后加http2参数,如下所示:
server {
listen 10.10.10.10:443 backlog=20480 http2 ssl;
ssl_async on;
}
如定义idle timeout以及max streams不支持server级别定义,可将这两个参数放在http配置块内
http2_idle_timeout 3m;
http2_max_concurrent_streams 128;
更多推荐
所有评论(0)