2013-04-03 50 views
22

我讀過一些關於SSL證書的內容,尤其是我讀過SSL證書「需要專用IP地址」。現在,我不確定這個的意義。這是否意味着證書需要與用於正常HTTP通信的IP地址分開的專用IP地址,或者只是它不能與其他SSL證書共享IP地址?「每個SSL證書需要專用IP」究竟意味着什麼?

爲了澄清,我有一個專用IP地址的VPS。 VPS承載了不少不同的站點,包括主站點的幾個子站點,但只有主站點和子站點需要SSL。我可以使用我當前的IP地址購買* .example.com的SSL證書,還是需要獲得與VPS上的其他網站分開的證書?或者更糟糕的是,我是否需要獲得與服務器上所有HTTP流量分開的流量?請記住,其他網站都不需要SSL。

感謝您對該主題的任何澄清。


編輯:一些消息來源爲我擔心:

http://symbiosis.bytemark.co.uk/docs/symbiosis.html#ch-ssl-hosting

Is it necessary to have dedicated IP Address to install SSL certificate?

回答

34
  1. 沒有「SSL證書」這樣的東西。該術語具有誤導性。 X。509證書可以針對不同目的發佈(由其密鑰使用和擴展密鑰使用「屬性」定義),特別是用於保護SSL/TLS會話。

  2. 由於證書是純數據,因此證書不需要關於套接字,地址和端口的任何內容。

  3. 在確保與TLS的某些連接時,通常使用證書對服務器(有時是客戶端)進行身份驗證。每個IP /端口有一臺服務器,所以服務器通常選擇使用哪種證書沒有問題。

    HTTPS是個例外—幾個不同的域名可以引用一個IP,並且客戶端(通常是瀏覽器)連接到同一個服務器以獲得不同的域名。該域名在請求中傳遞給服務器,在 TLS握手之後,該域名將轉到

    問題出現在這裏 - Web服務器不知道要提供哪個證書。爲了解決這個問題,一個新的擴展已經被添加到TLS,名爲SNI(服務器名稱指示)。但是,並非所有客戶都支持它。所以一般來說,爲每個域的每個IP /端口分配一個專用服務器是個好主意。換句話說,客戶端可以使用HTTPS連接到的每個域都應該有自己的IP地址(或不同的端口,但這並不常見)。

+1

等待,[SNI被廣泛支持](http://stackoverflow.com/a/6106500/632951)?爲什麼每個域都需要自己的IP? – Pacerier

+1

@Prier不,SNI並沒有得到廣泛的支持。事實上,直到2014年的TLS 1.1還沒有得到廣泛的支持,許多服務器使用舊版本的OpenSSL,當請求包含TLS 1.1或1.2時,它們剛剛崩潰。此外,引用的答案提到瀏覽器支持,並忘記存在大量不是瀏覽器的HTTPS客戶端(IIRC瀏覽器是所有HTTPS客戶端的少數)。最後,如果你閱讀我的答案,我寫了「並非所有的客戶都支持它」。如果你不關心兼容性 - 沒有問題。 –

+0

您聲明SNI是爲了解決*「Web服務器不知道要提供哪個證書」*的問題。這是否意味着SNI必須在TLS握手之前發送,而不是在之後發送? – Pacerier

0

SSL證書commmon名稱必須匹配的域名。您對IP地址沒有任何必要條件,除非是由證書提供商或http服務器軟件施加的限制。

編輯:尋找網絡,似乎謠言已經傳播,因爲Apache的ssl插件沒有(至少它沒有在2002年)任何機制使用基於主機名的不同證書。在這種情況下,您將不得不在兩個不同的IP地址上運行兩個不同的Apache Web服務器。

無論如何,在您的配置中,只使用一個IP就不會有任何問題,因爲您不必使用兩個不同的證書(因爲您計劃使用通配符證書)。

我會嘗試使用自簽名證書配置Web服務器,然後花錢購買第二個IP或證書。

編輯2:參考Apache文檔:

http://httpd.apache.org/docs/2.2/vhosts/name-based.html

現在好像(阿帕奇> = 2.2.12),它支持

5

SSL證書不需要專用的IP地址。 SSL證書存儲所謂的通用名稱。瀏覽器將此通用名稱解釋爲他們正在與之通話的服務器的DNS名稱。如果通用名稱與瀏覽器正在與之通話的服務器的DNS名稱不匹配,瀏覽器將發出警告。

你可以得到一個所謂的通配符證書,這對某個域內的所有主機都是可以接受的。

3

...對@跟進尤金的回答有關兼容性問題的詳細信息...

根據this page from namecheap.com SNI不工作:

  • 的Windows XP +任何版本Internet Explorer(6,7,8,9)
  • Internet Explorer 6或更低版本
  • Windows XP上的Safari瀏覽器
  • BlackBerry瀏覽器
  • 的Windows Mobile高達6.5
  • 諾基亞瀏覽器爲Symbian至少在60系列
  • 的Opera Mobile爲Symbian至少在60系列

網站仍然會通過HTTPS使用,但一將出現證書不匹配錯誤。

因此,當我們進入2016我冒昧地堅持我的脖子那裏,並說,「如果你正在構建一個現代網站反正(不支持舊的瀏覽器),如果該項目是如此之小,它無法承擔專用的IP地址,您可能會很好地依靠SNI。「當然,有成千上萬的專家會不同意這一點,但我們正在談論的是實際,並不完美。

相關問題