設定廣域搜尋服務的安全連線

您可以配置 IBM OpenPages® with Watson™ 廣域搜尋服務 (Apache Solr) ,以使用具有 TLS 的安全連線。 TLS 可確保在應用程式伺服器與 Solr 服務之間傳遞的所有資料都保持專用。

開始之前

在搜尋伺服器和應用程式伺服器上,必須在 PATH 系統環境變數中設定 $JAVA_HOME/bin。 若要驗證 Java™ 是否位於 PATH 變數中,請執行下列指令:
java -version
如果您收到下列錯誤,則 Java 不在 PATH 變數中: Command not found

關於此作業

如果您在測試環境中設定廣域搜尋元件,在解決所有安裝與配置問題之前,請不要啟用 TLS。

如需此作業中所使用指令的相關資訊,請參閱 Apache Solr 文件

重要事項: IBM® 不負責協力廠商內容。 在發佈時,此資訊是正確的。

程序

  1. 停止廣域搜尋服務。

    如需相關資訊,請參閱 啟動或停止廣域搜尋服務

  2. 建立安全連線的憑證。
    1. 移至 <SEARCH_HOME>/solr/server/etc 資料夾,並執行下列指令。
      keytool -genkeypair -alias alias -keyalg key_algorithm -keysize keysize -keypass key_pass -storepass keystore_passwd -validity validity -keystore keystore.p12 -storetype PKCS12 -ext ip_address -dname "CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country"

      在下列範例中,指令會在名為 solr-ssl.keystore.p12的金鑰儲存庫中建立自簽憑證。 金鑰儲存庫包含別名為 solr-ssl的金鑰,金鑰儲存庫密碼為 secret,信任儲存庫密碼為 secret。 它指定 DNS:host.company.comIP:127.0.0.1,192.168.7.1 的「主體替代名稱 (SAN)」值,以併入憑證中。 (SAN 值不是必要值,而且可能不會在您的環境中指定)。

      keytool -genkeypair -alias solr-ssl -keyalg RSA
        -keysize 2048 -keypass secret -storepass secret
        -validity 9999 -keystore solr-ssl.keystore.p12 -storetype PKCS12
        -ext SAN=DNS:host.company.com,IP:127.0.0.1,IP:192.168.7.1
        -dname "CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State,
        C=Country"
    2. 選用項目: 如果您需要 PEM 檔案,請將 PKCS12 格式金鑰儲存庫 (包括憑證和金鑰) 轉換成 PEM 格式。
      若要執行此指令,必須已安裝 openssl,並將其新增至 PATH 環境變數。
      openssl pkcs12 -in <keystore.p12> -out <keystore.pem>

      當系統提示輸入匯入密碼和 PEM 通行詞組時,您可以使用您在步驟 3a中為 <key_pass> 值指定的相同密碼。

  3. 匯出您在步驟 3 中建立的憑證。
    keytool -exportcert -keystore <keystore> -alias <alias> -file <solr_certificate> 

    當系統提示輸入金鑰儲存庫密碼時,請鍵入您在步驟 3a中為 <key_pass> 值指定的密碼。

    例如:
    keytool -exportcert -keystore solr-ssl.keystore.p12 -alias solr-ssl -file solr_ssl.cert
  4. 更新 solr.in 檔案。
    1. 在文字編輯器中編輯下列檔案:
      Windows
      <SEARCH_HOME>\solr\bin\solr.in.cmd
      Linux®
      <SEARCH_HOME>/solr/bin/solr.in.sh
    2. 解除註解並設定下列 TLS 內容。
      SOLR_SSL_ENABLED=true
      SOLR_SSL_KEY_STORE=etc/keystore.p12
      SOLR_SSL_KEY_STORE_PASSWORD=keystore_passwd
      SOLR_SSL_TRUST_STORE=etc/keystore.p12
      SOLR_SSL_TRUST_STORE_PASSWORD=keystore_passwd
      SOLR_SSL_NEED_CLIENT_AUTH=false
      SOLR_SSL_WANT_CLIENT_AUTH=true
      SOLR_SSL_CHECK_PEER_NAME=true

      在 Windows 上,您可能需要使用 server/etc 作為 SOLR_SSL_KEY_STORESOLR_SSL_TRUST_STORE 內容的路徑名稱。

  5. 以具有管理專用權的使用者身分登入 OpenPages 應用程式。
  6. 按一下 管理功能表 > 系統配置 > 設定
  7. 更新下列設定以使用 https 而非 http

    平台 > 搜尋 > 管理 > 搜尋伺服器管理 URL

    平台 > 搜尋 > 索引 > 搜尋伺服器 URL

    平台 > 搜尋 > 要求 > 搜尋伺服器 URL

  8. 將您在步驟 4 中匯出的憑證檔複製到應用程式伺服器上的下列目錄。
    <JAVA_HOME>/lib/security,其中 <JAVA_HOME> 是 JRE 的位置。
    例如:
    /opt/ibm/java-x86_64-80/jre/lib/security/solr_ssl.cert
  9. 將憑證新增至每一部應用程式伺服器上的 IBM Java 金鑰儲存庫。
    1. 在 Windows 電腦上,使用 以管理者身分執行 選項啟動「命令提示字元」視窗。 在 Linux 電腦上,開啟 Shell。
    2. 備份 <JAVA_HOME>/lib/security/cacerts 檔案,其中 <JAVA_HOME> 是 JRE 的位置,例如 /opt/ibm/java-x86_64-80/jre
    3. 跳至 <JAVA_HOME>/bin 目錄。
    4. 執行下列指令來更新 <JAVA_HOME>/lib/security/cacerts 檔案。
      keytool -importcert -alias <cert_alias> -keystore <JAVA_HOME>/lib/security/cacerts -file <solr_certificate>

      當系統提示時,請鍵入 cacerts 金鑰儲存庫的金鑰儲存庫密碼。 預設密碼通常是 changeit

      例如:
      keytool -importcert -alias solr-ssl -keystore /opt/ibm/java-x86_64-80/jre/lib/security/cacerts -file /opt/ibm/java-x86_64-80/jre/lib/security/solr_ssl.cert
    5. 確認您是否要信任憑證。
  10. 將憑證匯入至每一部應用程式伺服器上的 IBM WebSphere® 信任儲存庫。
    1. 登入 OpenPages 應用程式伺服器。
    2. 執行下列指令:
      keytool -importcert -v -alias <cert_alias> -file <solr_certificate> -keystore <keystore_path> -storetype PKCS12 -storepass <keystore_password>
      例如:
      keytool -importcert -v -alias solr-ssl -file /opt/ibm/java-x86_64-80/jre/lib/security/solr_ssl.cert -keystore /opt/IBM/OpenPages/wlp-usr/servers/app1Server1/resources/security/key.p12 -storetype PKCS12 -storepass <STORE_PASSWORD>

      如需相關資訊,請參閱 WebSphere Liberty 說明文件中的 在 Liberty 中新增授信憑證

    3. 重新啟動所有 OpenPages 服務。
  11. 如果搜尋伺服器安裝在與應用程式伺服器不同的電腦上,請將憑證新增至搜尋伺服器上的 IBM Java 金鑰儲存庫。
    1. 在 Windows 電腦上,使用 以管理者身分執行 選項啟動「命令提示字元」視窗。 在 Linux 電腦上,開啟 Shell。
    2. 移至 <JAVA_HOME>/bin 目錄,並執行下列指令:
      keytool -importcert -alias <alias> -keystore <JAVA_HOME>/lib/security/cacerts -file <SEARCH_HOME>/solr/server/etc/solr_certificate
      例如:
      keytool -importcert -alias solr-ssl -keystore /opt/ibm/java-x86_64-80/jre/lib/security/cacerts -file /opt/IBM/OpenPages/OPSearch/solr/server/etc/solr_ssl.cert
    3. 當系統提示時,請鍵入 cacerts 金鑰儲存庫的金鑰儲存庫密碼。 預設密碼通常是 changeit
  12. 啟動廣域搜尋服務。

    如需相關資訊,請參閱 啟動或停止廣域搜尋服務