官方原文鏈接
簡介
功能影響
已知問題
先決條件
安裝步驟
上傳自定義證書
驗證過程
實施細節
故障排查
常見問題
如何生成自定義根CA和證書?
如何從證書頒發機構Verisign獲取證書?
簡介
該文檔介紹如何替換realhostip.com爲自定義域名。 重要:你必須做該步驟,realhostip.com域名的DNS解析服務已經失效。
*********** 查看公告 : http://s.apache.org/jwe ***************************
功能影響
通過控制檯代理虛擬機 (CPVM)訪問虛擬機控制檯。
通過輔助存儲虛擬機 (SSVM)拷貝可用模版。
下載 模版/ISO/卷 (SSVM)。
備註 - 如果你不想受影響的功能使用SSl通信,你完全可以禁用SSL。將 secstorage.encrypt.copy 設置爲 "false", consoleproxy.url.domain 設置爲空值即可。
已知問題
問題 | 描述 | 備註 |
---|---|---|
1. | 不支持自簽名證書 | |
2. | 一旦上傳了自定義域名證書,,將無法回退使用realhostip.com。 | 請參考場景問題解答部分,創建自定義根認證機構(CA)和證書 |
先決條件
爲你的域名設置公共DNS解析
爲了替換realhostip.com使用您自己的域名,首先你需要在DNS服務器中針對你的域名做相關配置。 在該示例中我們假設你使用BIND作爲DNS服務器。其他類型的DNS服務器也可以正常工作。本示例中我們使用“yourhostip.com”作爲新的域名。 使用realhostip.com的方式爲將CloudStack公共網絡中的IP地址由77.88.99.11,轉換成DNS名稱:77-88-99-11.realhostip.com。 使用瀏覽器連接該名稱匹配的通配符證書 *.realhostip.com時,要求使用SSL。 針對你的環境,你需要參照這個配置。
1) 在你的DNS服務器中設置一個區域(如果還未設置)。Bind9中的配置示例如下:
zone "yourhostip.com" IN {
type master;
file "yourhostip.com.zone";
allow-update { none; };
};2) 現在你需要爲CloudStack中所有控制檯代理可以分配的公共IP創建A記錄。你會有這樣一個地址範圍:55.66.77.100 - 55.66.77.200。 在你的區域文件中,你需要參照如下記錄添加:
55-66-77-100 IN A 55.66.77.100
55-66-77-101 IN A 55.66.77.101
55-66-77-102 IN A 55.66.77.102
55-66-77-103 IN A 55.66.77.103
等等..
55-66-77-200 IN A 55.66.77.200
爲你的域名簽發通配符證書。該證書從根認證機構處獲得,例如VeriSign等。 參考如下信息:
根認證機構的公共證書爲PEM格式
中級認證機構(如果有的話)的公共證書爲PEM格式
通配符域證書爲PEM格式
私鑰爲PKCS8格式(備註 - 詳細步驟記錄在管理指南中 "更改控制檯代理SSL證書和域名"部分)
安裝步驟
一旦更新管理端和Agent端的全局配置參數成功,則重新啓動管理服務器。
全局設置
改變 secstorage.encrypt.copy = true (該值默認爲false。如果不爲true,則修改爲true 啓用SSL。 你可以選擇SSVM不使用SSL)
改變 secstorage.ssl.cert.domain = *.yourdomain.com. 例如 - *.xyz.com. 備註 - 記得添加 “*”
改變 consoleproxy.url.domain = *.yourdomain.com. 例如 - *.xyz.com (默認值爲空,你可以保持爲空,並選擇CPVM是否使用SSL)。備註 - 記得添加 “*”
按照 "上傳自定義證書"步驟替換realhostip.com爲你自己的域名。 域名應該爲: xyz.com (無需添加“*”)
上傳自定義證書
備註:
|
備註: 當通過API上傳中級證書後, 只有CPVM會重啓。應用下一個證書前,請確保你所有系統VM的agent狀態爲UP。
備註: 當通過API上傳根證書後, 只有CPVM會重啓。應用下一個證書前,請確保你所有系統VM的agent狀態爲UP。
確保URL中的證書被編碼,一種方法是使用Google Chrome - Advanced Rest Client 對URL中的證書進行編碼 (該工具將換行符轉換爲%0A,所以證書中的多行數據將被編碼爲一行).
確保證書爲PEM格式.
API調用時,必須首先將根證書設置爲id=1,中級證書設置爲id=2,3,4等等。.
此處沒有約定名稱規則,但儘量使用有助於我們命名的規則。例如:根證書爲 "root",中級證書爲 "intermediate1", "intermediate2" 等等。 備註:確保名稱是獨一無二的。
下面API調用中的所有域名後綴,都必須與全局配置中secstorage.ssl.cert.domain/consoleproxy.url.domain 的值(yourdomain.com)保持一致。
理解參數:
調用API上傳根證書, 這是一個強制性的步驟。
調用API上傳中級證書。此爲可選步驟,爲應對存在中級證書的情況。
轉到 UI -->基礎架構 –> 點擊“SSL證書”填入服務器證書,私鑰和匹配的域名並點擊確認。 成功上傳證書後會得到“更新SSL證書成功”的迴應。(備註 - 此處不應對證書和密鑰做URL編碼)
重啓SSVM和CPVM確保程序使用新的證書。
驗證過程
CPVM - 檢查用戶虛擬機的控制檯應該已經工作正常. 嵌入的iframe中應該顯示爲配置後的HTTP/HTTPS協議。
SSVM -
複製模版 - 嘗試從一個區域複製模版到另外一個區域,驗證是否工作正常.
下載 模版/卷/iso - 下載鏈接應該顯示爲配置後的HTTP/HTTPS協議,並確保可以正常下載。
實施細節
詳細信息在此處獲得: wiki
CPVM僅充當Java HTTP服務器。
如果是在源區域,SSVM充當服務器提供模版/卷/iso的下載。充當服務端時使用Apache webserver。
從目標區域中複製時,SSVM充當客戶端進行復制操作。 SSVM充當客戶端時使用Java Client。
故障排查
詳細信息可以在此處獲得: wiki
常見問題
如何生成自定義根認證機構(CA)和證書
本質上, 此過程爲 :
創建你自己的根認證機構(CA)
創建由根認證機構(CA)簽署的中級認證機構(可選步驟)
創建特定的域名證書請求,並使用中級認證機構簽發證書(或根認證機構)
(視情況而定) 你需要在瀏覽器中添加根認證機構和中級認證機構。 請注意,如果在你機器上使用openssl創建,他們將存在於操作系統中。因此,較好的測試方法是不同的機器上創建。
對於步驟 1 : https://jamielinux.com/articles/2013/08/act-as-your-own-certificate-authority/
對於步驟 2: https://jamielinux.com/articles/2013/08/create-an-intermediate-certificate-authority/ (注意博客中錯誤的部分,參考下方評論內容)
對於步驟 3: https://jamielinux.com/articles/2013/08/create-and-sign-ssl-certificates-certificate-authority/
對於步驟 4 : 在瀏覽器或系統中執行特定的步驟。
如何從證書頒發機構Verisign獲取證書
實際操作步驟如下。 使用openssl工具。具體步驟請查閱 Admin guide
生成PKCS#8格式的私鑰證書
生成證書籤名請求 (CSR)
前往你最信任的認證中心,,購買SSL證書,並提交證書籤名請求(CSR)。 你將會收到一個有效的證書。.
水平有限,文中如有錯誤,歡迎指出。