不帶 www 的域的 SSL 證書
我目前有一個為https://www.domain.com註冊的 SSL 證書。我沒有註冊https://domain.com,也沒有錢去做。
由於 SSL 交換是在載入實際站點之前完成的,因此我不能簡單地將重定向放在 .htacess 中,而客戶端不會收到 SSL 警告。無論如何我可以確保在 SSL 交換之前將所有https://domain.com重定向到https://www.domain.com嗎?也許直接在 Apache 伺服器上或在 DNS 中?
主機名驗證是一種客戶端機制(如 HTTPS 規範,RFC 2818,第 3.1 節中所述)。客戶端將在任何 HTTP 流量發生之前(特別是在任何重定向之前)檢查證書對於它所請求的主機名是否有效。Apache 重定向或 DNS 更改將沒有任何用處。
您只需要 Web 伺服器提供對請求的主機名有效的證書。
通過具有多個主題備用名稱 (SAN) DNS 條目,某些證書可以對多個主機名有效,例如
domain.com
和www.domain.com
. 有些 CA 預設這樣做,有些則需要額外付費。(萬用字元證書也可用於處理多個主機名,只要它們遵循正確的模式,例如
*.domain.com
。不幸的是,domain.com
不匹配,*.domain.com
因為點是模式的一部分。一些萬用字元證書將同時domain.com
具有*.domain.com
SAN如果是 SAN 機制將用於domain.com
,與萬用字元無關。)您還可以使用伺服器名稱指示 (SNI) 並在該主機上擁有一個額外的不同證書
domain.com
(在 for 旁邊www.domain.com
)。不幸的是,某些客戶端不支持它(可能是舊的,但它們仍然存在),這肯定是沒有意義的,因為大多數為其頒發證書的 CAdomain.com
肯定會www.domain.com
自動包含在另一個 SAN 中。無論哪種方式,如果您希望能夠提供服務
https://domain.com
(即使只是為了重定向),您必須獲得一個對其有效的新證書(至少)。