Apache2 HTTP/2 設定指南
HTTP/2 是 HTTP 協議的改進版本,能夠提供更快的網頁加載速度和更好的性能。本指南將介紹如何在 Fedora Linux 上設定 Apache(httpd) 來啟用 HTTP/2,並以 PHP 應用為例進行驗證。
目錄
確認 Apache2 版本
HTTP/2 支援 Apache 2.4.58 及以上版本,請使用以下命令確認:
httpd -v
如果版本低於 2.4.58,請確保 Fedora 套件已更新:
sudo dnf update -y
安裝與啟用 HTTP/2 模組
1. 安裝 Apache(httpd)與必要套件
如果尚未安裝 Apache,請執行:
sudo dnf install -y httpd mod_ssl
2. 啟用 HTTP/2 支援模組
確保 mod_http2
模組已啟用:
sudo dnf install -y mod_http2
啟用並重新啟動 Apache:
sudo systemctl enable --now httpd
sudo systemctl restart httpd
修改 Apache 設定檔
編輯 Apache 站點設定 /etc/httpd/conf.d/ssl.conf
或您的虛擬主機設定檔,例如 /etc/httpd/conf.d/my_site.conf
:
sudo vi /etc/httpd/conf.d/my_site.conf
在 <VirtualHost *:443>
區塊內 加入以下內容:
<VirtualHost *:443>
ServerAdmin webmaster@fedora.tw
DocumentRoot /var/www/html
Protocols h2 http/1.1
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
注意:HTTP/2 只支援 HTTPS,請確保已安裝 SSL 憑證。
儲存後,重新啟動 Apache:
sudo systemctl restart httpd
測試 HTTP/2 是否啟用
使用 curl
測試:
curl -I --http2 https://your-domain.com
若成功,應會看到 HTTP/2
的回應。
使用 PHP 應用驗證 HTTP/2
在 /var/www/html/index.php
加入以下內容,檢查 HTTP/2 是否運行:
<?php
if (isset($_SERVER['SERVER_PROTOCOL'])) {
echo "伺服器協議: " . $_SERVER['SERVER_PROTOCOL'] . "<br>";
}
if (!empty($_SERVER['HTTPS'])) {
echo "HTTPS 已啟用<br>";
} else {
echo "HTTPS 未啟用,請確認 SSL 設定。<br>";
}
?>
開啟瀏覽器並訪問 https://your-domain.com/index.php
,若顯示 HTTP/2.0,則代表 HTTP/2 啟用成功。
結語
透過 HTTP/2,Apache 可以提高網站效能並改善用戶體驗。本指南介紹了 HTTP/2 的啟用方式,並透過 PHP 應用進行驗證,確保您的伺服器已成功運行 HTTP/2。