Nginx HTTP/2 支持
介绍
HTTP/2 是 HTTP 协议的第二个主要版本,旨在提高 Web 性能。与 HTTP/1.1 相比,HTTP/2 引入了多路复用、头部压缩和服务器推送等特性,能够显著减少页面加载时间并提升用户体验。Nginx 从 1.9.5 版本开始支持 HTTP/2,本文将详细介绍如何在 Nginx 中启用和配置 HTTP/2。
备注
HTTP/2 需要 HTTPS(即 TLS/SSL)支持。因此,在启用 HTTP/2 之前,请确保您的服务器已配置 SSL 证书。
启用 HTTP/2
要在 Nginx 中启用 HTTP/2,您需要在服务器块(server
block)的 listen
指令中添加 http2
参数。以下是一个简单的配置示例:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}
解释
listen 443 ssl http2;
:监听 443 端口,启用 SSL 和 HTTP/2。ssl_certificate
和ssl_certificate_key
:指定 SSL 证书和私钥的路径。location /
:定义根路径的处理方式。
提示
如果您希望同时支持 HTTP/1.1 和 HTTP/2,可以保留 listen 80;
配置,以便处理未加密的 HTTP 请求。
HTTP/2 的优势
多路复用
HTTP/2 允许在单个连接上同时传输多个请求和响应,避免了 HTTP/1.1 中的队头阻塞问题。这意味着浏览器可以并行加载资源,而不需要为每个资源建立多个连接。
头部压缩
HTTP/2 使用 HPACK 算法对 HTTP 头部进行压缩,减少了数据传输量,从而提高了性能。