在Ubuntu上配置Nginx以支持HTTP/2,你需要确保你的Nginx版本至少是1.9.5,并且你的SSL证书已经正确安装。以下是配置HTTP/2的步骤:
更新Nginx: 确保你的Nginx版本是最新的,或者至少是支持HTTP/2的版本。你可以使用以下命令来更新Nginx:
sudo apt update
sudo apt upgrade nginx
安装SSL证书: HTTP/2通常与TLS(传输层安全协议)一起使用,因此你需要一个SSL证书。你可以使用Let’s Encrypt免费获取一个证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot会自动为你配置Nginx并启用HTTPS。
配置Nginx:
编辑你的Nginx配置文件。通常,这个文件位于/etc/nginx/sites-available/目录下,你可能需要创建一个新的配置文件或者编辑默认的配置文件。
sudo nano /etc/nginx/sites-available/yourdomain.com
在server块中,确保你有以下配置:
server {
listen 443 ssl http2;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 其他配置...
location / {
root /var/www/yourdomain.com;
index index.html index.htm;
}
# 更多配置...
}
确保listen 443 ssl http2;这一行包含了ssl和http2参数。
检查配置并重启Nginx: 在保存并关闭配置文件后,运行以下命令来检查Nginx配置是否有误:
sudo nginx -t
如果配置正确,重启Nginx来应用更改:
sudo systemctl restart nginx
验证HTTP/2: 你可以使用浏览器的开发者工具或者在线服务如SSL Labs来验证你的网站是否已经成功启用了HTTP/2。
请注意,HTTP/2需要HTTPS,因此确保你的网站使用的是SSL证书。如果你还没有SSL证书,你需要先获取一个。上述步骤中使用了Certbot来自动获取和配置Let’s Encrypt证书。