如何在Ubuntu上的Apache啟用HTTP2.0?


HTTP/2.0是HTTP協議的最新版本,與之前的HTTP/1.1相比,它提供了顯著的效能提升。在您的Apache Web伺服器上啟用HTTP/2.0可以提高網站的速度和響應能力,從而為訪問者帶來更好的使用者體驗。本文將指導您完成在Ubuntu上的Apache啟用HTTP/2.0的步驟。

步驟1:檢查Apache版本

在啟用HTTP/2.0之前,務必確保您的Apache版本與HTTP/2.0相容。要檢查您的Apache版本,請在終端中執行以下命令:

apache2 -v

輸出將顯示您的Apache版本。如果您的Apache版本為2.4.17或更高版本,您可以繼續啟用HTTP/2.0。

步驟2:安裝SSL證書

HTTP/2.0需要安全的SSL/TLS連線。因此,您需要在Web伺服器上安裝SSL證書。如果您沒有安裝SSL證書,可以按照本文中的說明獲取免費的Let's Encrypt SSL證書:如何在Ubuntu上安裝Let's Encrypt SSL。

步驟3:啟用HTTP/2.0

要在您的Apache伺服器上啟用HTTP/2.0,請按照以下步驟操作:

  • 安裝所需的模組:

sudo apt-get install libapache2-mod-http2
  • 編輯Apache配置檔案:

sudo nano /etc/apache2/sites-available/your-site.conf
  • 在您的VirtualHost塊中新增以下行:

Protocols h2 http/1.1
  • 儲存並關閉檔案。

重啟Apache

sudo service apache2 restart

就是這樣!您已成功在Apache Web伺服器上啟用HTTP/2.0。

步驟4:測試HTTP/2.0

要驗證HTTP/2.0是否已在您的伺服器上啟用,您可以使用https://tools.keycdn.com/http2-test上的HTTP/2.0測試工具。

輸入您的網站URL,然後點選“測試HTTP/2.0”按鈕。如果測試顯示您的網站正在使用HTTP/2.0,恭喜!您的網站現在更快更安全了。

在Apache Web伺服器上啟用HTTP/2.0時,您應該記住並非所有瀏覽器都支援此協議。一些較舊的瀏覽器可能不支援HTTP/2.0,它們將回退到使用HTTP/1.1。因此,建議您也啟用HTTP/1.1,以確保您的網站對所有訪問者都可用。

要同時啟用HTTP/2.0和HTTP/1.1,您需要如下修改Apache配置檔案中的VirtualHost塊:

Protocols h2 http/1.1

在您的Apache伺服器上啟用HTTP/2.0還可以增強網站的安全性。HTTP/2.0需要使用SSL/TLS加密,這為您的網站提供了額外的安全層。建議您使用強大的SSL/TLS配置來保護您的網站和訪問者的資料。

除了在Apache伺服器上啟用HTTP/2.0之外,您還可以針對HTTP/2.0最佳化您的網站。例如,您可以透過將多個資源合併到單個檔案中、使用伺服器推送來預載入資源以及最佳化影像和其他媒體檔案的大小來減少HTTP請求的數量。

在Apache伺服器上啟用HTTP/2.0時,另一個重要的考慮因素是伺服器負載。HTTP/2.0比HTTP/1.1需要更多資源,這意味著在處理HTTP/2.0請求時,您的伺服器可能會承受更高的負載。因此,建議您監控伺服器的資源使用情況,並根據需要調整配置。

您可以使用Apache內建的mod_status模組等工具來監控伺服器的資源使用情況。此模組提供有關伺服器活動的即時資訊,包括請求數量、每個請求的狀態以及伺服器的CPU和記憶體使用情況。

要啟用mod_status,您需要將以下行新增到Apache配置檔案中:

<Location /server-status>
   SetHandler server-status
   Require all granted
</Location>

啟用mod_status後,您可以透過在Web瀏覽器中訪問http://your-server-ip/server-status來訪問伺服器狀態頁面。該頁面將顯示伺服器當前活動的摘要,包括活動連線數、每秒請求數以及伺服器的CPU和記憶體使用情況。

透過監控伺服器的資源使用情況並根據需要調整配置,您可以確保您的伺服器能夠處理在提供HTTP/2.0請求時增加的負載。

在Apache伺服器上啟用HTTP/2.0時,另一個需要考慮的方面是虛擬主機的使用。如果您在同一伺服器上託管多個網站,則可以分別為每個虛擬主機啟用HTTP/2.0。

要為特定虛擬主機啟用HTTP/2.0,您需要將以下行新增到虛擬主機配置檔案中:

Protocols h2 http/1.1

例如,如果您有兩個名為“example.com”和“example.net”的虛擬主機,您可以分別為每個虛擬主機啟用HTTP/2.0,如下所示:

<VirtualHost *:443>
   ServerName example.com
   Protocols h2 http/1.1
   SSLCertificateFile /path/to/certificate.pem
   SSLCertificateKeyFile /path/to/private/key.pem
   ...
</VirtualHost>

<VirtualHost *:443>
   ServerName example.net
   Protocols h2 http/1.1
   SSLCertificateFile /path/to/certificate.pem
   SSLCertificateKeyFile /path/to/private/key.pem
   ...
</VirtualHost>

透過分別為每個虛擬主機啟用HTTP/2.0,您可以為每個網站提供更快、響應更靈敏的使用者體驗。

最後,重要的是要保持Apache伺服器更新,以確保您擁有最新的安全補丁和效能改進。您可以使用以下命令來更新Apache及其模組:

sudo apt-get update
sudo apt-get upgrade

透過定期更新Apache伺服器,您可以確保您的網站保持安全並獲得最佳效能。

在Apache伺服器上啟用HTTP/2.0時,另一個需要考慮的重要方面是快取的使用。HTTP/2.0內建支援伺服器推送,允許伺服器在無需等待請求的情況下將資源推送給客戶端。但是,伺服器推送可能不是所有資源的最佳解決方案,特別是對於並非每個頁面載入都需要的大型檔案。

為了最佳化HTTP/2.0網站的效能,您可以使用快取來減少請求數量並提高網站速度。Apache支援各種快取機制,包括mod_cache和mod_cache_disk。

Mod_cache是一種記憶體快取機制,它將頻繁訪問的內容儲存在記憶體中。這可以顯著減少伺服器負載並縮短頻繁訪問資源的響應時間。

另一方面,Mod_cache_disk將頻繁訪問的內容儲存在磁碟上,這可以縮短不經常訪問的資源的響應時間。這還可以透過減少對伺服器的請求數量來減少伺服器負載。

要在Apache伺服器上啟用快取,您需要將以下行新增到虛擬主機配置檔案中:

<IfModule mod_cache.c>
   CacheQuickHandler on
   CacheLock on
   CacheLockPath /tmp/mod_cache-lock
   CacheLockMaxAge 5
   CacheIgnoreCacheControl On
   CacheIgnoreNoLastMod On
   CacheIgnoreHeaders Set-Cookie
   CacheStorePrivate On
   CacheStoreNoStore On
</IfModule>

這些行啟用快取並指定快取鎖路徑和最大年齡。您可以自定義這些設定以適應您網站的需求。

除了啟用快取之外,您還可以透過壓縮資源來最佳化資源的大小。Apache支援gzip壓縮,這可以顯著減小資源的大小並提高網站速度。

要在Apache伺服器上啟用gzip壓縮,您需要將以下行新增到虛擬主機配置檔案中:

<IfModule mod_deflate.c>
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript
   DeflateCompressionLevel 9
   DeflateWindowSize 15
   DeflateBufferSize 8096
</IfModule>

這些行為指定的型別啟用gzip壓縮,並指定壓縮級別、視窗大小和緩衝區大小。您可以自定義這些設定以適應您網站的需求。

結論

在您的Apache Web伺服器上啟用HTTP/2.0可以顯著提高網站的速度和效能。按照本文中概述的步驟,您可以輕鬆地在Ubuntu伺服器上啟用HTTP/2.0,並享受此新協議的優勢。

更新於:2023年5月15日

6000+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告