Sun Java System Application Server 9.1 高可用性管理指南

配置 Sun Java System Web Server

若為 Sun Java System Web Server,則當您使用 Sun Java System Application Server 9.1 安裝精靈安裝負載平衡器外掛程式時,安裝精靈會自動完成所有必要的配置。不需要進行手動配置。Application Server 9.1 隨附的負載平衡器外掛程式支援下列 Sun Java System Web Server 版本:

但若是使用 GlassFish v2,則必須單獨從 http://download.java.net/javaee5/external/SunOS_X86/aslb/jars/aslb-9.1-MS4-b7.jar 下載 Application Server 負載平衡器外掛程式,並進行部份手動變更來設定。如需如何安裝和設定 GlassFish v2 外掛程式的詳細步驟,請參閱「Sun Java System Application Server 9.1 Installation Guide」中的「To Install the Load Balancing Plug-in (standalone)」一節。

Procedure配置 Sun Java System Web Server

開始之前

備註 –

Application Server 9.1 的安裝程式會自動執行下列步驟。但若是使用 GlassFish v2,則需要手動執行這些步驟。


  1. 前往 Web 伺服器實例的 magnus.conf 檔案,新增下列幾行:

    ##BEGIN EE LB Plug-in Parameters
    Init fn="load-modules"
    shlib="web-server-install-dir/plugins/lbplugin/bin/libpassthrough.so"
    funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no"
    Init fn="init-passthrough"
    ##END EE LB Plug-in Parameters=
  2. 若不存在下行,請予以新增:

    Init fn="load-modules" shlib=".../libj2eeplugin.so" shlib_flags="(global|now)"
  3. web-server-install-dir/config/obj.conf 檔案中,在首次出現字串 nametrans 前,於單行中插入下列資訊:

    Nametrans fn="name-trans-passthrough" name="lbplugin"
    config-file="web-server-install-dir/config/loadbalancer.xml"

    NameTrans 項目在 obj.conf 中的顯示順序非常重要。安裝程式會將 NameTrans 項目擺在正確的位置,但是如果您為了其他目的而編輯 obj.conf,則必須確定維持正確的順序。尤其是負載平衡器資訊必須位在 document-root 函數之前。如需有關 obj.conf 檔案的更多資訊,請參閱 「Sun Java System Web Server 7.0 Administrator’s Configuration File Reference 」

  4. 將下列幾行新增到 web-server-install-dir/config/obj.conf 檔案:

    <Object name = "lbplugin"> 
    ObjectType fn="force-type" type="magnus-internal/lbplugin"
    PathCheck fn="deny-existence" path="*/WEB-INF/*"
    Service type="magnus-internal/lbplugin" fn="service-passthrough"
    Error reason="Bad Gateway" fn="send-error" uri="$docroot/badgateway.html"
    </Object>
  5. 編輯 web-server-install-dir /start 程序檔,更新 LD_LIBRARY_PATH 值以併入 app-server-install-dir/lib/lbplugin/lib

    app-server-install-dir /lib/lbplugin/lib 目錄包含負載平衡器外掛程式所需的二進位碼。

  6. (可選擇) 若為新的 DAS 型負載平衡器管理,請配置 Web 伺服器的 SSL 功能。

    如需 Web Server 6.1 的詳細說明,請參閱在 SSL 模式中為 Sun Java System Web Server 6.1 設定負載平衡器

    如需 Web Server 7 的詳細說明,請參閱在 SSL 模式中為 Web Server 7 設定負載平衡器

  7. 若 Web 伺服器未執行,請啟動 Web 伺服器。

配置 Sun Java System Web Server 以使用自動套用

「自動套用」是 Application Server 9.1 提供的功能,可透過網路將負載平衡器配置自動傳送到 Web 伺服器配置目錄。如需此功能的更多資訊,請參閱自動套用。下列程序說明如何配置 Sun Java System Web Server (版本 6 及 7) 來使用此功能。

Procedure在 SSL 模式中為 Sun Java System Web Server 6.1 設定負載平衡器


備註 –

唯有當您想使用負載平衡器外掛程式的「自動套用」功能時,才需要執行本節中的步驟。此功能可協助您透過網路,將負載平衡器配置自動傳送到 Web 伺服器配置目錄。


  1. 使用瀏覽器存取 Web 伺服器的管理主控台並登入。

  2. 選取您的伺服器實例,然後按一下 [管理]。

  3. 按一下 [安全性] 標籤。

  4. 提供使用者名稱和密碼來初始化信任資料庫。此動作可使用 certutil 指令或 GUI 來完成。certutil 指令的下列選項可用來初始化信任資料庫:

    certutil -N -P  "https-instance-name-hostname-" -d .
    • certutil 提示您時,請輸入密碼來加密您的金鑰。輸入密碼來加密您的金鑰。密碼必須至少有八個字元長,且至少包含一個非字母字元。

    • 當系統提示您輸入新密碼時,請指定密碼。

  5. 使用下列指令建立本機憑證授權單位 (CA) 範例:

    certutil -S -P "https-boqueron.virkki.com-boqueron-" 
    -d . -n SelfCA -s "CN=Self CA,OU=virkki.com,C=US" 
    -x -t "TC,TC,TC" -m 101 -v 99 -5
    1. 當系統提示您輸入 0-7 來表示憑證類型時,請鍵入 5 表示 SSL CA。重新出現提示時,請指定 9。

    2. 出現查詢「Is this a critical extension [y/n]?」時,請指定「y」。

  6. 使用上述 CA 範例來產生憑證

    certutil -S -P "https-instance-name-hostname-"
    -d . -n MyServerCert -s "CN=boqueron.virkki.com,C=US"
    -c SelfCA -t "u,u,u" -m 102 -v 99 -5
    1. 當系統提示您輸入 0-7 來表示憑證類型時,鍵入 1 表示 SSL 伺服器。重新出現提示時,請指定 9。

    2. 出現查詢「Is this a critical extension [y/n]?」時,請指定「y」。

  7. 依照下列步驟中的說明,建立 HTTPS 偵聽程式:

    1. 登入 Web 伺服器的管理伺服器。

    2. 選取伺服器,再按一下 [管理]。

    3. 按一下 [新增偵聽通訊端]。在 [新增偵聽通訊端] 頁面中,執行下列步驟:

      1. 指定連接埠號。

      2. 確定在 [伺服器名稱] 中指定伺服器的完全合格的網域名稱 (FQDN)。例如,如果主機名稱是 machine1,且網域名稱是 server.example.com,則 FQDN 是 machine1.server.example.com。

      3. 從 [安全性] 下拉式清單中,選取 [啟用]。

      4. 按一下 [確定]。

    4. 前往 [編輯偵聽通訊端] 頁面,然後選取剛建立的 [偵聽通訊端]。

    5. 在 [偵聽通訊端] 頁面中,確認 [伺服器憑證] 名稱與您在步驟 6 中提供的憑證名稱是否相同。

Procedure匯出及匯入 Sun Java System Web Server 6.1 的 DAS 憑證

  1. 若是使用 Application Server 9.1,請執行下列指令來匯出 DAS 憑證:

    <appserver_install_dir>/lib/upgrade/pk12util -d <domain root>/config -o sjsas.p12-W
    <file password> -K <master password> -n s1as
    • 若是使用 GlassFish v2,則必須使用下列指令匯出 DAS 憑證:

      <JAVA_HOME>/bin/keytool -export -rfc -alias s1as -keystore
      <GLASSFISH_HOME>/domains/<DOMAIN_NAME>/config/keystore.jks-file s1as.rfc

      其中,<GLASSFISH_HOME> 表示 Application Server 安裝目錄,<DOMAIN_NAME> 則表示正在匯出其憑證的網域。

    • 將憑證檔案複製到 Web 伺服器配置目錄。

  2. 若是使用 Application Server 9.1,請使用下列指令,將 DAS 憑證匯入到 Web 伺服器實例:

    <webserver_install_dir>/bin/https/admin/bin/pk12util-i sjsas.p12 -d 
    <webserver_install_dir>/alias -W<file password> -K <webserver security db password> -P
    <instance-name>-<hostname>-
    <webserver_install_dir>/bin/https/admin/bin/certutil -M -n s1as -t "TCu"
    -d <webserver_install_dir>/alias -P <instance-name>-<hostname>-

    這些指令可將 Application Server CA 變成受信任的 CA,以便簽署用戶端憑證和伺服器憑證。

    • 若是使用 GlassFish v2,請從使用 certutil (NSS 安全性工具) 所建立的 rfc 檔案匯入 DAS 憑證。

      <webserver_install_dir>/bin/certutil -A -a -n s1as -t "TCu" -i s1as.rfc 
      -d <webserver_install_dir>/alias -P <instance-name>-<hostname>-

      您可以使用下列指令來檢查此憑證是否存在,它會列出 s1as 憑證與其他 CA 憑證,包括預設的伺服器憑證。請務必將此指令在單獨一行中鍵入。

      <WS_INSTALL_ROOT>/bin/certutil -L 
      -d <webserver_install_dir>/alias -P <instance-name>-<hostname>-
  3. 如果 obj.conf 不含下列各行,請在檔案尾端加入這些行。若是使用 Application Server 9.1,則安裝程式會自動執行此步驟。

    <Object ppath="*lbconfigupdate*">
    PathCheck fn="get-client-cert" dorequest="1" require="1"
    <Object>
    <Object ppath="*lbgetmonitordata*">
    PathCheck fn="get-client-cert" dorequest="1" require="1"
    </Object>
  4. 您可以使用確認設定一節中所提供的步驟,確認上述設定。您可以改用任何其他 CA 和伺服器憑證取代本機 CA。在這種情況下,您可以略過上一節中所示的步驟 5 和步驟 6,但需要匯入自其他 CA 所取得的伺服器憑證。

在 SSL 模式中為 Web Server 7 設定負載平衡器

  1. 使用下列指令,啟動 Web 伺服器的管理伺服器。

    webserver-install-dir/admin_server/bin/startserv
  2. 依照下列步驟中的說明,建立 HTTPS 偵聽程式。若已存在 HTTP 偵聽程式,則可略過下列步驟跳到匯出及匯入 Sun Java System Web Server 7 的 DAS 憑證一節。

    1. 登入 Web 伺服器管理主控台。

    2. 選取預設配置。一般而言,預設配置名稱與主機名稱相同。若要從 [常用工作] 頁面執行此動作,請從 [選取配置] 清單中選取配置,然後按一下 [編輯配置]。或者,可以開啟 [配置] 頁面,並按一下 [配置] 表格中的預設配置名稱。

    3. 若位於 [常用工作] 頁面,請按一下 [請求伺服器憑證]。反之,若是位於 [配置] 頁面,請開啟 [憑證] 頁面,然後按一下 [伺服器憑證] 表格的 [請求] 按鈕。這是為此預設配置建立自我簽署伺服器憑證的必要動作。

    4. 提供 [請求伺服器憑證] 視窗所要求的詳細資訊。

      執行此動作時,請務必在「*伺服器名稱 (cn)」中,提供安裝了 Web 伺服器的電腦之完全合格網域名稱 (FQDN)。例如,如果主機名稱是 machine1,且網域名稱是 server.example.com,則 FQDN 是 machine1.server.example.com。選取提供的預設值。

      您也可以使用下列指令建立自我簽署的憑證。請務必將此指令在單獨一行中鍵入。

      webserver-install-dir/bin/wadm create-selfsigned-cert --user=
      admin-user --server-name=host-name 
      --nickname=ServerCert --token=internal --config=config-name
      
    5. 返回選取的配置頁面。

    6. 開啟 [HTTP 偵聽程式] 頁面,然後按一下 [新增] 按鈕。此動作可用來建立 SSL 啟用的 HTTP 偵聽程式。

    7. 提供「新增 HTTP 偵聽程式」精靈所找到的詳細資訊。確定伺服器名稱是在較早步驟中所提供的 FQDN。選取 [SSL] 按鈕,並從 [憑證] 清單中選取先前建立的伺服器憑證。例如,cert-machine1.server.example.com。

      您也可以使用下列指令來建立 HTTP 偵聽程式。請務必將每一個指令在單獨一行中鍵入。

      webserver-install-dir/bin/wadm create-http-listener 
      --user=admin-user --server-name=host-name 
      --default-virtual-server-name=default-virtual-server-name 
      --listener-port=8090 --config=config-name http-listener-ssl
      webserver-install-dir/bin/wadm set-ssl-prop 
      --user=admin-user --http-listener=http-listener-ssl 
      --config=config-name enabled=true server-cert-nickname=ServerCert
    8. 執行以上列出的步驟後,您會在管理主控台右上角看到「部署擱置中」警示。按一下此警示,並遵循說明完成部署。此步驟可確保將 Web 伺服器的管理伺服器中所儲存的配置變更,複製到 Web 伺服器實例。

Procedure匯出及匯入 Sun Java System Web Server 7 的 DAS 憑證

藉由匯出和匯入 DAS 憑證,可將 DAS 變成 Web 伺服器的受信任用戶端。使用 DAS 憑證的用戶端認證可確保唯有連線到 Web 伺服器的 DAS 可做為受信任的用戶端。

  1. 開啟終端機視窗,並使用下列指令設定 LD_LIBRARY_PATH:

    export LD_LIBRARY_PATH=/opt/SUNWappserver/lib
  2. 若是使用 Application Server 9.1,請執行下列指令來匯出 DAS 憑證。DAS 憑證可同時做為伺服器憑證以及用戶端憑證。

    <appserver_install_dir>/lib/upgrade/pk12util -d <domain root>/config -o s1as.p12 -W
    <s1as.pk12-file-password> -K <master password> -n s1as
    • 若是使用 GlassFish v2,請匯出 DAS 憑證,並使用 Java SE 5.0 安全性工具 (名為 keytool),為該憑證提供別名「s1as」。執行此動作時,請選取 -rfc 選項來匯出可列印編碼格式 (由 Internet RFC 1421 標準定義) 的憑證。

      在指令行中,可使用下列指令匯出 DAS 憑證:

      <JAVA_HOME>/bin/keytool -export -rfc -alias s1as -keystore
      <GLASSFISH_HOME>/domains/<DOMAIN_NAME>/config/keystore.jks-file s1as.rfc

      其中,<GLASSFISH_HOME> 表示 Application Server 安裝目錄,<DOMAIN_NAME> 則表示正在匯出憑證的網域。

    • 將憑證檔複製到 Web 伺服器配置目錄。

  3. 若是使用 Application Server 9.1,請使用下列指令,將 DAS 憑證匯入 Web 伺服器實例並設定憑證的信任屬性:

    <webserver_install_dir>/bin/pk12util -i <path_to_s1as.pk12-file> 
    -d <webserver_install_dir>/admin-server/config-store/<default-config-name>/config 
    -K <webserver security db password> -W <s1as.pk12-file-passwd>
    <webserver_install_dir>/bin/certutil -M -n s1as -t "TCu" 
    -d <webserver_install_dir>/admin-server/config-store/<default-config-name>/config

    這些指令可使 Application Server CA 成為信任的 CA,以便簽署用戶端和伺服器憑證二者。

    • 若是使用 GlassFish v2,請從使用 certutil (NSS 安全性工具) 所建立的 rfc 檔匯入 DAS 憑證。

      <webserver_install_dir>/bin/certutil -A -a -n s1as -t "TCu" -i s1as.rfc -d
      <webserver_install_dir>/admin-server/config-store/<CONFIG_NAME>/config

      其中,<webserver_install_dir> 表示 Web 伺服器安裝目錄,<CONFIG_NAME> 則表示為預設 Web 伺服器實例所建立的配置名稱。

      您可以使用下列指令來檢查是否存在此憑證,它會列出 s1as 憑證與其他 CA 憑證,包括預設的伺服器憑證。請務必將此指令在單獨一行中完整鍵入。

      <webserver_install_dir>/bin/certutil -L -d
      <webserver_install_dir>/admin-server/config-store/
      <DEFAULT_CONFIG_NAME>/config

      您也可以使用 Web 伺服器管理主控台來檢視此憑證。選取已匯入憑證的配置 (在此情況下為預設配置),然後選取 [憑證] 標籤。若要查看所有可用的憑證,請選取 [憑證授權單位] 子標籤。

  4. 若是使用 GlassFish v2,請為 Web Server 7 執行下列配置變更。若是使用 Application Server 9.1,則可跳至下一個步驟。

    1. 將下列幾行附加到 <WS_INSTALL_ROOT>/admin-server/config-store/<DEFAULT_CONFIG_NAME>/config/obj.conf 檔案。確定鍵入這些指令行時沒有尾隨空格。

       <Object ppath="*lbconfigupdate*">
       PathCheck fn="get-client-cert" dorequest="1" require="1"
      </Object>
      <Object ppath="*lbgetmonitordata*">
       PathCheck fn="get-client-cert" dorequest="1" require="1"
      </Object>
  5. 部署配置。執行在前幾個步驟中所列出的變更時,管理主控台會將此配置標記為已部署。

    1. 在 [Web 伺服器管理主控台] 中選取 [部署擱置中] 圖示。您也可以使用 CLI 公用程式 wadm 來部署此配置,如下所示:

      <webserver_install_dir>/bin/wadm deploy-config --user=<admin> <DEFAULT_CONFIG_NAME>
  6. 從 GlassFish DAS 測試此設定,查看其是否可透過 SSL 與已配置的 HTTP 負載平衡器進行通訊。如需更多資訊,請參閱確認設定