完成金鑰資料庫(KDB)建立與憑證匯入後(詳見上篇),須執行 RMUpdateSSL 工具自動修改 IBM HTTP Server (IHS) 配置檔 httpd.conf,啟用 SSL 模組與虛擬主機。本文詳細說明跨平台執行命令、日誌分析、配置檔變更內容、除錯模式、服務啟動驗證、Resource Manager 啟動與端口配置的完整步驟。
命令語法:Java RMUpdateSSL <IHS_conf目錄>
Java RMUpdateSSL C:\WebSphere60\HttpServer\conf
Java RMUpdateSSL /usr/IBM/WebSphere60/HttpServer/conf
工具會自動備份原 httpd.conf 為 httpd.conf.000,並在檔案末尾追加 SSL 相關指令。執行日誌記錄於:
<IBMCMROOT>/config/cmcfgrmas.log
2005/08/12 06:42:38 RMUpdateSSL Entry 2005/08/12 06:42:39 RMUpdateSSL adding com.ibm.spi.IBMCMSProvider 2005/08/12 06:42:39 RMUpdateSSL adding com.ibm.crypto.fips.provider.IBMJCEFIPS 2005/08/12 06:42:41 RMUpdateSSL pluging configured on line 844 2005/08/12 06:42:41 RMUpdateSSL SSL is ready to be configured. 2005/08/12 06:42:41 RMUpdateSSL os.name AIX
關鍵成功標誌:SSL is ready to be configured. 與_provider 載入無錯誤。
工具在 httpd.conf 末尾追加如下內容(路徑以 UNIX 為例):
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so LoadModule was_ap20_module /usr/WebSphere60/Plugins/bin/mod_was_ap20_http.so WebSpherePluginConfig /usr/WebSphere60/APPServer/profiles/BaseUnmanaged/config/cells/cma66Node01Cell/nodes/webserver1_node/servers/webserver1/plugin-cfg.xml Listen 443 <VirtualHost cma66.svl.ibm.com:443> ServerName cma66.svl.ibm.com DocumentRoot "/usr/WebSphere60/HttpServer/htdocs/en_US" ErrorLog "/usr/WebSphere60/HttpServer/logs/error.log" TransferLog "/usr/WebSphere60/HttpServer/logs/error.log" ServerSignature Off SSLEnable SSLFIPSEnable Keyfile "/usr/WebSphere60/HttpServer/conf/key.kdb" SSLV2Timeout 100 SSLV3Timeout 1000 SSLClientAuth none SSLServerCert icmrm SSLCipherSpec 3A SSLCipherSpec FF </VirtualHost>
關鍵指令解析:
LoadModule ibm_ssl_module:載入 IBM SSL 模組(支援硬體加速與 FIPS)。Keyfile:指向金鑰資料庫(含伺服器憑證與私鑰)。SSLServerCert icmrm:指定 KDB 中伺服器憑證的標籤名稱(需與上篇建立時一致)。SSLCipherSpec 3A / FF:啟用強加密套件(TLS_RSA_WITH_AES_256_CBC_SHA 等)。SSLClientAuth none:單向驗證(僅驗證伺服器);若需雙向驗證改為 required。若 RMUpdateSSL 執行報錯,啟用除錯模式獲取詳細堆疊:
Java -Ddebug=true RMUpdateSSL <IHS_conf目錄>
配合查看 cmcfgrmas.log 即可定位 Java 類別載入失敗、路徑錯誤、權限不足等根因。
Start > Programs > IBM HTTP Server 6.0 > Start HTTP Server
或命令列:apachectl start(安裝目錄 bin 下)。
/usr/IBM/WebSphere60/HttpServer/bin/apachectl start
訪問以下兩個 URL,應均顯示 IHS 預設歡迎頁面:
https://<hostname>(80 埠,明文)https://<hostname>(443 埠,SSL)驗證重點:
SSLServerCert 標籤正確性 ③ 瀏覽器是否匯入根 CA。C:\WebSphere60\APPServer\bin\startServer.bat icmrm
/usr/IBM/WebSphere60/APPServer/bin/startServer.sh icmrm
啟動日誌請查看 <WAS_PROFILE>/logs/icmrm/SystemOut.log,確認無 SSL 手震錯誤(如 SSLHandshakeException)。
瀏覽器訪問:
https://<hostname>/icmrm/snoophttps://<hostname>/icmrm/snoop應顯示 Snoop Servlet 頁面,列出 HTTP Header、Session、Request 參數等資訊,證明 RM 已正常掛載於 IHS SSL 虛擬主機下。
| 現象 | 可能原因 | 解決方向 |
|---|---|---|
| RMUpdateSSL 報 ClassNotFoundException | JAVA_HOME 未設定或指向錯誤 JDK | 確保使用 WAS 內建 JDK (java/jre 目錄) |
| IHS 啟動失敗,錯誤 "Cannot load mod_ibm_ssl.so" | 模組路徑錯誤或缺少相依庫 | 檢查 LoadModule 路徑、LIBPATH/LD_LIBRARY_PATH |
| HTTPS 瀏覽器提示憑證不受信任 | 根 CA 未匯入瀏覽器/系統信任存儲 | 匯入 CA 憑證至 Trusted Root Certification Authorities |
| Snoop 頁面 404 | RM 未啟動或 Web 模組未部署 | 檢查 startServer.sh 輸出、WAS 應用狀態 |
| System Administration Client 連線 RM 失敗 | 埠號/SSL 設定不一致 | 步驟 11 核對 Port=443、Use SSL=勾選 |
完成上下兩篇完整流程,即可在 IBM DB2 Content Manager V8.3 環境中從零手動建立金鑰資料庫、匯入憑證鏈、自動化配置 IHS SSL 虛擬主機、驗證 Resource Manager 安全端點,構建端到端加密的內容管理存取通道。