2016-06-23 168 views
0

我們有多個服務器和一個負載平衡器。首次配置服務器時,將創建自簽名證書。然後服務器將其固定IP與負載均衡器一起註冊。如何自動從CA安裝證書?

當我們自己的Android應用程序想訪問服務器時,負載均衡器會告訴它IP。因爲我們可以通過將其安裝在SSLContext中來信任我們自己的證書,所以Android應用程序可以使用SSL與服務器進行通信。

問題:我們希望擴展系統,以便任意瀏覽器可以訪問我們的服務器,但這些不會信任我們的自簽名證書並向用戶顯示一個醜陋的消息。我們將不得不使用來自可信CA的證書。但在這裏我們遇到了問題,即負載均衡器使用IP,而不是域(可以更改)。如果我們想要使用基於域的證書,我們必須在每臺服務器上手動安裝證書,並且/或者我們必須爲域配置DNS。

How are ssl certificates verified?解釋認證過程中的步驟,但我沒有清楚看到的是瀏覽器如何知道它所聯繫的IP屬於給定的域?它看着反向條目嗎?我能否以某種方式欺騙這個系統,以解決手動安裝和/或配置DNS的問題?此外,我認爲即使是一個域名證書通常頒發給IP,所以我將不得不爲每個服務器重新發布它。任何人都可以連接點嗎?像我們現在這樣自動配置服務器的最佳方式是什麼,但是使用CA的證書而不是自簽名的證書?有人知道我可以使用API​​的CA嗎?

回答

0

瀏覽器知道它所聯繫的IP是否屬於給定的域?

它沒有。通用名稱驗證機制是:證書中的名稱必須與地址欄中的名稱相匹配。

如果客戶端通過名稱連接到遠程服務器,則響應中的證書必須在主題字段或主題備用名稱證書擴展名中包含該名稱。

如果客戶端通過IP連接到遠程服務器,則響應中的證書必須在主題字段或主題備用名稱擴展名中包含該IP。

IP的問題是商業(公用信任)CA不會頒發證書給IP地址。只限於合格的域名。

+0

這使事情更清晰。所以我可能需要得到一個通配符證書,然後,爲我們每個ips,添加一個子域到DNS。 –

相關問題