在Ubuntu上配置Nginx以支持HTTP/2涉及几个步骤。以下是一个详细的指南:
首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
Nginx默认情况下不启用HTTP/2。你需要手动启用它。编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。
sudo nano /etc/nginx/sites-available/default
在 server 块中添加或修改以下内容:
server {
listen 443 ssl http2;
server_name your_domain.com;
ssl_certificate /path/to/your/fullchain.pem;
ssl_certificate_key /path/to/your/privkey.pem;
# 其他配置...
}
确保你已经有一个SSL证书。如果没有,可以使用Let’s Encrypt生成一个:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
为了安全起见,建议将所有HTTP请求重定向到HTTPS。编辑 /etc/nginx/sites-available/default 文件,添加以下内容:
server {
listen 80;
server_name your_domain.com;
return 301 https://$host$request_uri;
}
在应用更改之前,测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以使用浏览器开发者工具或命令行工具(如 curl)来验证HTTP/2是否已启用。
F12 或右键点击页面并选择“检查”。HTTP/2 字样,说明HTTP/2已启用。curl使用以下命令检查HTTP/2支持:
curl -I --http2 https://your_domain.com
如果响应头中包含 HTTP/2 字样,说明HTTP/2已启用。
通过以上步骤,你可以在Ubuntu上配置Nginx以支持HTTP/2。确保你的SSL证书是最新的,并且定期更新Nginx和操作系统以保持安全性。