安裝與升級 > Windchill 安裝與組態 > 使用 PTC Solution Installer > 安裝 Windchill 解決方案 > 選用產品設定 > Windchill Index Search 安裝 > Windchill Index Search 安裝後組態 > 在雲端模式下配置索引搜尋伺服器 > 對於雲端索引搜尋伺服器 (Solr) 配置 SSL
  
對於雲端索引搜尋伺服器 (Solr) 配置 SSL
開始之前,您必須擁有作為單一檔案轉換為 PEM 格式的憑證和金鑰。
* 
如果沒有僅憑證檔案可供使用,您可以選擇從憑證和金鑰檔案產生一個︰
1. 使用 keytool 公用程式將 JKS 金鑰庫轉換為 PKCS12 格式︰
keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
2. 使用 openssl 指令,將 PKCS12 格式的金鑰庫 (僅包括憑證而不包括金鑰) 轉換為 PEM 格式︰
openssl pkcs12 -nokeys -in solr-ssl.keystore.p12 -out solr-ssl.cacert.pem
對於 Solr 配置 SSL
對於執行 Solr 伺服器的所有節點配置 Windchill Index Search 伺服器。對於所有節點使用相同的憑證與金鑰檔案。
1. 將憑證 (JKS) 檔案複製到 <Index_Search_Home>/solr/server/etc
2. 設定常用的 SSL 相關系統內容。
若要啟動 SSL 設定,請取消註解並更新下列檔案中以 SOLR_SSL_* 開頭的內容集合︰
Windows:bin\solr.in.cmd
例如:
set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_KEY_STORE_PASSWORD=secret)
set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_TRUST_STORE_PASSWORD=secret
REM Require clients to authenticate
set SOLR_SSL_NEED_CLIENT_AUTH=false
REM Enable clients to authenticate (but not require)
set SOLR_SSL_WANT_CLIENT_AUTH=false
Unix:bin/solr.in.sh
例如:
bin/solr.in.sh example SOLR_SSL_* configuration
SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_KEY_STORE_PASSWORD=secret
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=secret
# Require clients to authenticate
SOLR_SSL_NEED_CLIENT_AUTH=false
# Enable clients to authenticate (but not require)
SOLR_SSL_WANT_CLIENT_AUTH=false
其中,"secret" 是建立憑證時指定的密碼。
3. 開啟 Windchill Shell 並執行下列指令,設定通訊協定為索引搜尋用戶端連接至索引搜尋伺服器時將使用的 HTTPS:
xconfmanager -s wt.index.solrProtocol=https -t codebase/wt.properties -p
4. Windchill 配置為使用 SSL 時,在 Windchill 外部使用的任何 Java 用戶端都需要憑證才能連接。
因此,您必須將憑證匯入至將由 Solr 雲端中的 Solr 節點使用的 JVM。如此可讓 Solr 節點連接至 Windchill 並下載文件以進行索引。
將憑證檔案新增至 JVM 信任存放區 (Solr 節點的 JDK/JVM)。
a. 導覽至 Solr 節點所用的 Java 位置核對 <JAVA>/jre/lib/security 下的 cacerts 檔案路徑。
b. 導覽至 <JAVA>/jre/bin 匯入新的憑證。以對 cacerts 具有寫入權限的使用者身分執行 keytool 公用程式:
keytool -import -file <憑證文件> -alias <唯一性名稱> -keystore <cacerts 文件的路徑>
例如:
keytool -import -file D:\SolrWithSSL\solr-5.4.1\server\etc\solr-ssl.cacert.pem -alias Key_Alias -keystore ../lib/security/cacerts
* 
JVM 金鑰庫的預設密碼是 "changeit"。
5. 重新啟動 Windchill
對於 Zookeeper 配置 SSL
1. urlScheme 全叢集內容需要設定為 https,任何 Solr 節點才會啟動。
開啟指令提示並導覽至 <INDEX_SEARCH_HOME>/solr/server/scripts/cloud-scripts,然後執行下列指令︰
Windows:
zkcli.bat -zkhost <逗號分隔的 Zookeeper 主機名稱清單:埠項目> -cmd clusterprop -name urlScheme -val https
例如:
zkcli.bat -zkhost host1.ptcnet.ptc.com:2181,host2.ptcnet.ptc.com:2182,host3.ptcnet.ptc.com:2183 -cmd clusterprop -name urlScheme -val https
Unix:
sh zkcli.sh -zkhost <逗號分隔的 Zookeeper 主機名稱清單:埠項目> -cmd clusterprop -name urlScheme -val https
例如:
sh zkcli.sh -zkhost host1.ptcnet.ptc.com:2181,host2.ptcnet.ptc.com:2182,host3.ptcnet.ptc.com:2183 -cmd clusterprop -name urlScheme -val https
* 
只要 Zookeeper 節點重新啟動,便應執行 urlScheme 指令。
2. 重新啟動 Solr 雲端 (Zookeeper 節點和 Solr 節點),然後導覽至 Solr 管理介面來核對 Solr 已執行 SSL。
* 
關於 SSL 的已知問題,請參閱下列網站︰