您可以在回應標頭中指定 HTTP 嚴格傳輸安全 (HSTS),這樣您的伺服器就可以通告用戶端,它只接受 HTTPS 要求。您可以將任何非 HTTPS 要求重新導向至啟用 SSL 的虛擬主機。
開始之前
- 定義您的 HSTS 原則只適用於網域,還是包含子網域。
- 決定該網域是否可以列在預先安裝在用戶端中的已知 HSTS 主機清單中。
- 決定用戶端多久可以快取指出該網域是 HSTS 主機的資訊。
程序
- 啟用回應標頭的修改。
在
httpd.conf 檔中,解除註解 mod_headers 模組的下列 Load Module 指引:
LoadModule headers_module modules/mod_headers.so
- 定義用戶端的 HSTS 原則。
在 httpd.conf 檔中進行下列更新:
- 編寫 Header 指引。
下列範例的 Header 指定用來定義 HSTS 原則的有用選項。指引指定伺服器一律需要 HTTPS 連線。HTTPS 連線同時適用於網域和任何子網域。用戶端可將該網域保留在其預先安裝的 HSTS 網域清單中,最長一年(31536000 秒)。
Header always set Strict-Transport-Security "max-age=31536000;
includeSubDomains; preload"
- 將 Header 指引新增至啟用了 Secure Sockets Layer (SSL) 的每一個虛擬主機區段 <virtualhost>。
- 將要求從未啟用 SSL 的虛擬主機,重新導向至啟用的虛擬主機。
RewriteEngine on
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]
- 將該段落新增至 httpd.conf 檔中的每一個虛擬主機區段一次。
- 將該段落新增至廣域 httpd.conf 檔一次,但是放在虛擬主機區段之外。
結果
您已設定 IBM® HTTP Server,它會告知用戶端只能透過 HTTPS 連接指定的網域和子網域。為了確保 IBM HTTP Server
不會透過非 SSL 來處理非 HTTPS 要求,您設定了伺服器,以便將這些要求重新導向至啟用 SSL 的虛擬主機。
下一步
將伺服器當成前端系統新增至您的應用程式伺服器環境,使您應用程式伺服器與用戶端之間的連線都會經由 HTTPS。