是的,Ubuntu 上的 Apache2 是支持 HTTP/2 的,但需要满足一些条件和进行相应配置。
Apache 版本
必须使用 HTTPS
mod_http2 只支持通过 TLS(HTTPS)使用 HTTP/2需要的模块
mod_http2mod_sslsudo apt update
sudo apt install apache2
sudo a2enmod http2
sudo a2enmod ssl
编辑你的站点配置,例如:
sudo nano /etc/apache2/sites-available/example.conf
示例配置:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.crt
SSLCertificateKeyFile /etc/ssl/private/example.key
Protocols h2 http/1.1
</VirtualHost>
⚠️ 关键是这一行:
Protocols h2 http/1.1
sudo a2ensite example.conf
sudo systemctl restart apache2
curl -I --http2 https://example.com
看到:
HTTP/2 200
说明已启用。
Protocols h2 写在 443 虚拟主机中如果你愿意,可以告诉我你的 Ubuntu 版本 和 Apache 版本,我可以给你更精确的操作步骤。