在Nginx中启用HTTP/2非常简单。
首先检查你的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配置并重新加载Nginx。
nginx -t
sudo service nginx reload
现在就可以测试网站的HTTP/2是否已处于激活状态。要测试HTTP/2是否已经成功启用,您可以使用KeyCDN的在线KeyCDN HTTP/2测试工具
顺便说一下,HTTP/3即将到来。它将在Nginx 1.17中被,并正在向Chrome、Firefox和Cloudflare进军。