如何在同一IP位址上運行多個SSL證書?

詹帆妃


你需要SNI——服務器名稱指示

什麼是SNI?服務器名稱指示是SSL的一個重要組成部分。SNI允許多個網站存在於同一個IP地址上。 如果沒有SNI,每個主機名都需要自己的IP地址才能安裝SSL證書。

為什麼基於名稱的主機不能很好地處理SSL

在過去的HTTP時代,解決與基於名稱的主機在同一IP地址上託管的多個網站的問題並不難。當一個客戶端請求某特定網站時,它使用一個唯一的HTTP頭,包括預期的主機名。作為響應,服務器將該頭部與預期的網站匹配並在那裡傳送用戶。

可惜的是,當你使用HTTPS時是無法故技重施的。因為在客戶端和服務器之間可以建立加密連接之前,SSL需要SSL握手。包含目標主機名的HTTP頭只有在握手完成之後才能被下載,這意味著服務器不知道要連接到哪個網站。

那麼SNI幹些什麼?

服務器名稱指示是對SSL / TLS協議的擴展,允許在單個IP地址上承載多個SSL證書。 SNI這樣做的方法是將HTTP頭插入到SSL握手中。 由於服務器可以在握手期間看到預期的主機名,因此可以將客戶端連接到請求的網站。

在SNI出現之前,加密每個網站都必須具有唯一的IP地址。這毫無疑問十分昂貴,還具備快速消費IPv4 IP地址的意想不到的副作用。

我們知道,IP地址的數量是有限的,IPv4,為參與使用Internet協議進行通信的計算機網絡的每個設備分配地址。一個IPv4的IP地址長這樣:

世界上一共只有大約40億萬個IPv4 IP地址,所有地址終會被消耗殆盡。在SNI出現之前,消耗的速度比現在要快得多。SNI的存在無疑是在給IPv4續命。

最終,互聯網將遷移到IPv6。屆時將會有超過3400億萬個IPv6地址供人使用。


主機偵探SSL證書商城


多域名SSL證書是在一個SSL證書中含有多個CN字段(公用名稱),支持多個不同域名。


分享到:


相關文章: