首先检查你的Nginx版本。
nginx -v
要运行HTTP/2,你的Nginx 版本必须是1.9.5或更高–只要你网站的Ubuntu是18.04或更高版本,这就不是个问题。当然你的网站也必须已经开启了SSL/TLS加密。
好了,现在你只需要编辑Nginx配置文件
sudo vi /etc/nginx/sites-available/default
或
sudo vi /etc/nginx/sites-available/xxx.com
在server { }块中查找以下行。
# SSL configuration
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
如果你使用Certbot,这几行可能会在文件的最后,看起来像这样
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
现在只需在两行的443 ssl之后加上http2即可。在第二个例子(Certbot)中,现在应该是这样的。
listen [::]:443 ssl http2 ipv6only=on; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
好吧,新版本Nginx中启用http2的命令更简单就一行
# 启用HTTP/2
http2 on;
保存,退出,测试Nginx配置并重新加载Nginx。
nginx -t
sudo systemctl reload nginx
现在就可以测试网站的HTTP/2是否已处于激活状态。要测试HTTP/2是否已经成功启用,您可以使用下列网站:
顺便说一下,HTTP/3即将到来。它将在Nginx 1.25中被支持,并正在向Chrome、Firefox和Cloudflare进军。
[…] 在我的网站的Nginx中启用HTTP/2已经是5年前的事了,是时候启用HTTP/3了。 […]