2012-03-21 197 views
2

我在內部網絡上有一個也可供公衆訪問的網站。我已經爲該公共站點購買並安裝了SSL證書。該網站可以使用https://site.domain.com(公共)和https://site.domain.local(內部)。具有CA證書問題的HTTPS SSL自簽名證書

我遇到的問題是爲內部「site.domain.local」創建並安裝自簽名證書,以便我們內部網絡上的人員不會收到安全警告。我在根文件夾中有一個密鑰庫,並且在該密鑰庫中創建了一個沒有運氣的自簽名證書。公共密鑰工作得很好。我正在運行安裝了Tomcat 7的Debian linux,並且我還在使用Microsoft DNS的網絡上使用Active Directory。任何和所有的幫助將不勝感激。如果你需要更多的細節,請詢問。

回答

0

不知道我完全理解你的設置,但是你可以用Apache對準你的Tomcat,在Apache實例上安裝證書,然後對你的Tomcat實例建立一個反向代理(純http)。人們將訪問將處理SSL連接的Apache實例。

+0

我可以這樣做,但證書問題仍然存在。服務器位於我的網絡中的防火牆後面,可以使用domain.local名稱和domain.com(通過NAT和分配的公共IP)訪問,並且只有當某人離開網絡時纔可以連接到domain.com服務器名稱和證書驗證該名稱。我需要找到一種方法在服務器上爲內部用戶提供自簽名證書,然後讓它驗證domain.local名稱。需要安裝自簽名和CA證書。 – Alienyak 2012-03-21 16:51:03

+0

我想我真的不明白'證書驗證該名稱'的含義。您可以在Apache上配置VirtualHosts,這將根據用戶訪問的域名提供不同的服務器證書(請檢查ServerName指令) – 2012-03-21 16:59:01

+2

例如,當我的用戶從家中或咖啡館在Internet上時,他們可以輸入site.domain.com的名稱,並沒有連接到我們的網站的問題,這是通過我們的防火牆的NAT。當他們在本地網絡上時,我們使用AD,並使用默認的domain.local進行設置。 (而不是.com)因爲我的所有用戶都在防火牆後面,所以他們無法連接到site.domain.com,但必須使用site.domain.local,並且我從CA安裝的證書專門用於site.domain。 COM。昨天我收到了一個很好的建議,並會告訴你這是怎麼回事。 – Alienyak 2012-03-22 22:36:17

0

一種方法是將CA證書添加到每個客戶端證書可信存儲區(這並不方便):客戶端單擊證書警告消息並安裝/信任自簽名x509 CA證書。如果這不起作用,那麼證書有問題(雖然大多數openssl生成的東西.CER/.CRT/.P12/.PFX將在最近的窗口下安裝,沒有問題)。

如果一個客戶端接受手動設置的自簽名證書,則可以嘗試使用Active Directory安裝這些證書;基本上你在你的AD中添加了可信的CA證書,並且客戶端自動同步(nb:主要是在登錄時):看到那裏有關AD設置的提示:http://support.microsoft.com/kb/295663/en-us(你可以試試這個或者在這個方向挖:用AD,永遠不會知道)。

另一種可能性是將您的內部DNS設置爲指向site.domain.com本地網站地址(簡易方式)。您可以在Linux上測試此設置與您/etc/hosts文件/ UNIX系統(或system32/drivers/etc/hosts在Windows口味)

+0

謝謝你的回覆。我明天會試着去做這件事。我在我的一臺Windows服務器上添加了主機文件中的條目,並且它運行得非常好。但是,我無法找到在我的Windows DNS服務器上添加DNS條目記錄的方法。我會嘗試通過AD提供的鏈接添加證書。 – Alienyak 2012-03-21 21:10:54

0

如果您的證書是site.domain.com和用戶會site.domain.local並獲得該證書,那麼顯然名稱不匹配,瀏覽器會一直提醒您。

你要麼需要:

  • 獲得與這兩個名字
  • 再生的證書獲得證書只是內部站點
  • 撕裂DNS,這樣當你的內部用戶去site.domain。他們得到了site.domain.local的IP地址。