Nginx可以通过ngx_http_v2_module模块支持HTTP/2协议。HTTP/2是HTTP 1.1的后继版本,提供了许多新特性以优化web性能。
要在Nginx中配置HTTP/2,需要:
- 编译Nginx时添加–with-http_v2_module参数启用ngx_http_v2_module模块。
- 在server块中使用listen指令,并指定http2参数。
server {
listen 443 ssl http2; # http2指令启用HTTP/2
...
}
- 由于HTTP/2推荐通过TLS加密传输,因此需要配置SSL证书。
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
}
- 可以使用http2_max_concurrent_streams指令限制每个客户端的最大并发流数。默认为128。
http2_max_concurrent_streams 128;
- 使用proxy_http_version指令将请求代理到HTTP/2上游服务器。
location / {
proxy_pass http://http2_backend;
proxy_http_version 1.1; # 将代理协议升级到HTTP/2
}
例如,完整配置:
server {
listen 443 ssl http2;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
http2_max_concurrent_streams 128;
location / {
proxy_pass http://http2_backend;
proxy_http_version 1.1;
}
}
这种配置启用了Nginx对HTTP/2协议的支持,可以利用HTTP/2带来的各种优化特性,提高web性能。