如何在 CentOS/RHEL 8 上使用 Hitch 為 Varnish Cache 啟用 HTTPS?
在當今的網際網路安全世界中,為您的網站啟用 HTTPS 至關重要,以確保使用者資料的隱私和安全。實現此目標的一種方法是使用 Varnish Cache 和 Hitch(一個輕量級的 TLS 代理)來解除安裝 Varnish 的 SSL/TLS 處理。
在本文中,我們將指導您完成在 CentOS/RHEL 8 上使用 Hitch 為 Varnish Cache 啟用 HTTPS 的過程。
先決條件
在開始之前,請確保您擁有以下內容:
一臺 CentOS/RHEL 8 伺服器
伺服器的 root 訪問許可權
已安裝 Varnish Cache 和 Hitch
有效的 SSL/TLS 證書和私鑰
如果您尚未安裝 Varnish Cache 和 Hitch,您可以按照以下命令進行安裝:
sudo dnf install varnish hitch
步驟 1:配置 Hitch
首先,我們需要配置 Hitch 以偵聽某個埠並將請求轉發到 Varnish Cache。為此,我們將建立一個新的配置檔案 /etc/hitch/hitch.conf。
在您喜歡的文字編輯器中開啟檔案:
sudo nano /etc/hitch/hitch.conf
將以下內容新增到檔案中:
# Listen on port 443 frontend = "[*]:443" # Forward requests to Varnish Cache backend = "[::1]:6081" # Use the SSL/TLS certificate and private key pem-file = "/path/to/your/certificate.pem"
將 /path/to/your/certificate.pem 替換為您 SSL/TLS 證書和私鑰的路徑。
儲存並關閉檔案。
步驟 2:配置 Varnish Cache
接下來,我們需要配置 Varnish Cache 以使用 Hitch 作為其 SSL/TLS 代理。
在您的文字編輯器中開啟 Varnish Cache 配置檔案 /etc/varnish/varnish.params:
sudo nano /etc/varnish/varnish.params
將以下內容新增到檔案中:
# Use Hitch as the SSL/TLS proxy VARNISH_BACKEND_PORT=8443 VARNISH_BACKEND_SSL=on VARNISH_BACKEND_SSL_VERIFY_PEER=on VARNISH_BACKEND_TLS_CERT=/path/to/your/certificate.pem VARNISH_BACKEND_TLS_KEY=/path/to/your/certificate.pem
將 /path/to/your/certificate.pem 替換為您 SSL/TLS 證書和私鑰的路徑。
儲存並關閉檔案。
步驟 3:重新啟動服務
最後,重新啟動 Hitch 和 Varnish Cache 服務以應用新的配置:
sudo systemctl restart hitch sudo systemctl restart varnish
雖然上述步驟足以在 CentOS/RHEL 8 上使用 Hitch 為 Varnish Cache 啟用 HTTPS,但您可以執行一些其他操作來進一步增強網站的安全性。
使用證書頒發機構 (CA)
與其使用自簽名 SSL/TLS 證書,不如考慮使用受信任的證書頒發機構 (CA) 頒發的證書。這將提高您網站在使用者眼中的可信度,並防止在他們的瀏覽器中出現警告訊息。
您可以從受信任的 CA 獲取證書,方法是從商業提供商處購買或使用 Let's Encrypt 等免費 CA。
實施 HSTS
HTTP 嚴格傳輸安全 (HSTS) 是一項安全功能,它指示 Web 瀏覽器僅在指定時間段內透過 HTTPS 與您的網站通訊。這可以防止降級攻擊並提高網站的整體安全性。
要實施 HSTS,請將以下標頭新增到您的 Hitch 配置檔案中:
# Enable HSTS for 1 year tls-protos = TLSv1.2 ciphers = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH" hsts = on hsts-max-age = 31536000 hsts-include-subdomains = on
這將啟用 HSTS 1 年,幷包含所有子域。
實施 OCSP 裝訂
線上證書狀態協議 (OCSP) 裝訂是一項安全功能,允許伺服器從 CA 獲取其 SSL/TLS 證書的吊銷狀態並將其提供給客戶端。這可以透過減少檢查證書吊銷狀態所需的時間來提高網站的效能和安全性。
要實施 OCSP 裝訂,請將以下行新增到您的 Hitch 配置檔案中:
# Enable OCSP Stapling ocsp-dir = "/var/lib/hitch/ocsp" verify-ocsp = on
這將啟用 OCSP 裝訂並將響應儲存在 /var/lib/hitch/ocsp 目錄中。
透過實施這些額外的安全功能,您可以進一步增強網站的安全性及可信度。
以下是一些您可以採取的其他步驟來最佳化 Varnish Cache 和 Hitch 的效能:
使用 HTTP/2
HTTP/2 是 HTTP 協議的主要修訂版,它顯著提高了網頁的效能。它支援伺服器推送、多路複用和標頭壓縮等功能,這些功能可以減少請求數量並提高網站的載入速度。
要使用 HTTP/2,您需要在 Varnish Cache 和 Hitch 中啟用它。方法如下:
在 Varnish Cache 中,將以下行新增到 /etc/varnish/varnish.params 檔案中:
# Enable HTTP/2 VARNISH_LISTEN_PORT=80,8080 v1
在 Hitch 中,將以下行新增到 /etc/hitch/hitch.conf 檔案中:
# Enable HTTP/2 alpn-protos = h2,h2c,http/1.1
完成這些更改後,重新啟動 Varnish Cache 和 Hitch 服務:
sudo systemctl restart varnish sudo systemctl restart hitch
快取靜態內容
快取靜態內容(如影像、CSS 和 JavaScript 檔案)可以顯著提高網站的效能。透過在 Varnish Cache 中快取這些檔案,您可以減少請求數量並加快使用者的載入時間。
要在 Varnish Cache 中快取靜態內容,您需要將以下行新增到 Varnish Cache 配置檔案 (/etc/varnish/default.vcl) 中:
# Cache static content for 1 day
sub vcl_recv {
if (req.url ~ "\.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|css|js)(\?.*|)$") {
unset req.http.Cookie;
set req.url = regsub(req.url, "\?.*$", "");
set req.http.static = "YES";
if (req.request == "GET") {
return (hash);
}
return (pass);
}
}
sub vcl_backend_response {
if (bereq.http.static == "YES") {
set beresp.ttl = 1d;
}
}
這將快取靜態內容 1 天,並繞過其他請求的快取。
監控效能
最後,監控網站的效能並根據需要進行調整非常重要。您可以分別使用 Varnishstat 和 Hitchstats 工具來監控 Varnish Cache 和 Hitch 的效能。
要使用 Varnishstat,請執行以下命令:
varnishstat
要使用 Hitchstats,請執行以下命令:
hitch-stats --frontend=127.0.0.1:8443
這些工具將為您提供有關網站效能的寶貴見解,並幫助您確定改進的領域。
透過遵循這些步驟,您可以最佳化 Varnish Cache 和 Hitch 的效能,併為使用者提供快速且安全的瀏覽體驗。
結論
在本文中,我們向您展示瞭如何在 CentOS/RHEL 8 上使用 Hitch 為 Varnish Cache 啟用 HTTPS。透過將 SSL/TLS 處理解除安裝到 Hitch,我們提高了網站的效能和安全性。請務必保護您的 SSL/TLS 證書和私鑰的安全並保持最新,以確保使用者資料的持續安全。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP