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

第 4 章 配置 Web 伺服器以用於負載平衡

本章說明如何針對 Application Server 9.1 與 GlassFish v2 提供的負載平衡器外掛程式,配置所支援的 Web 伺服器。Application Server 9.1 提供的負載平衡器外掛程式支援下列 Web 伺服器:


備註 –

GlassFish v2 僅支援 Sun Java System Web Server ( 6.1 版及 7.0 版)。若要搭配 GlassFish v2 使用負載平衡器外掛程式,需要手動安裝與配置負載平衡器外掛程式。如需一起安裝負載平衡器外掛程式與 GlassFish v2 的更多資訊,請參閱「Sun Java System Application Server 9.1 Installation Guide」中的第 1 章「Installing Application Server Software」


負載平衡器外掛程式安裝程式附屬於 Application Server 9.1 安裝程式,會對 Web 伺服器的配置檔案做一些修改。這些變更取決於您所使用的 Web 伺服器。此外,某些 Web 伺服器得進行手動配置,負載平衡器才能正確運作。


備註 –

負載平衡器外掛程式可與 Sun Java System Application Server 9.1 一起 (或單獨) 安裝在執行受支援 Web 伺服器的電腦上。如需安裝程序的完整詳細資訊,請參閱「Sun Java System Application Server 9.1 Installation Guide」中的第 1 章「Installing Application Server Software」


配置 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 負載平衡器進行通訊。如需更多資訊,請參閱確認設定

使用 Apache Web Server

Application Server 9.1 隨附的負載平衡器外掛程式支援 Apache Web Server 2.0.x。若要使用 Apache Web Server,必須在安裝負載平衡器外掛程式之前和之後執行特定的配置步驟。負載平衡外掛程式安裝也會對 Apache Web Server 做出其他修改。安裝外掛程式後,必須執行其他配置步驟。


備註 –

如果使用 --with-mpm=worker 選項進行編譯,則 Apache 2 將具有多重執行緒運作方式。


使用 Apache Web Server 的需求

若為 Apache Web Server,則您的安裝必須符合最低需求。

對於 Apache,負載平衡外掛程式需要︰

軟體原始碼可從 http://www.sunfreeware.com 取得。

此外,在編譯 Apache 之前,請執行以下步驟:


備註 –

如果除了使用 gcc 之外還要使用 C 編譯器,請在 PATH 環境變數中設定 C 編譯器和 make 公用程式的路徑。


套用 Apache Web Server 修補程式

安裝 Apache 的負載平衡器外掛程式之前,請為 Apache Web Server 問題 12355 套用修補程式。如需此問題的詳細資訊,請造訪 http://issues.apache.org/bugzilla/show_bug.cgi?id=12355。需要此修補程式才能使用「自動套用」功能。若要套用修補程式,請執行下列步驟。

  1. 解壓縮 http-2.0.59.tar 並前往目錄 httpd-2.0.59。

  2. http://issues.apache.org/bugzilla/attachment.cgi?id=16495 下載修補程式,並將其另存為檔案,例如,12355.diff

  3. httpd-2.0.59/modules/ssl 目錄中,執行下列指令:

    patch < 12355.diff

在安裝負載平衡外掛程式之前先配置 Apache

必須編譯和建置 Apache 原始碼以使用 SSL 執行。本小節說明如欲順利編譯 Apache Web Server 以執行負載平衡器外掛程式,所需的最低需求和概略步驟。這些需求和步驟僅適用於此軟體的 Solaris 和 Linux 版本。如需有關 Apache 的 Windows 版本的資訊,請參閱 Apache 網站。


備註 –

在此提供的指示改編自 http://httpd.apache.org/docs 的指示內容。如需有關顧及 SSL 設定的 Apache 之詳細安裝指示,請參閱該網站。


Procedure安裝 SSL 可識別的 Apache

開始之前

您必須已下載並解壓縮了 Apache 軟體。

  1. 下載並解壓縮 OpenSSL 原始碼,原始碼可從 http://openssl.org 取得。

  2. 編譯和建置 OpenSSL。

    如需完整的安裝指示,請參閱在您解壓縮 OpenSSL 的目錄內,名為 INSTALL 的檔案。該檔案說明如何在使用者指定的位置安裝 OpenSSL。

    如需有關 OpenSSL 的更多資訊,請參閱 http://www.openssl.org/

  3. 下載及解壓縮 Apache。

    Apache 可從 http://httpd.apache.org 取得。

  4. 編譯及建立 Apache。配置來源樹狀結構:

    1. cd http-2.0_x.

    2. 執行以下指令:

      ./configure --with-ssl= OpenSSL-install-path --prefix= Apache-install-path --enable-ssl --enable-so

      在上述指令中,x 為 Apache 的版本編號,open-ssl-install-path 為安裝 OpenSSL 的目錄絕對路徑,Apache-install-path 為要在其中安裝 Apache 的目錄。

      請注意,僅當您的 Apache 2 伺服器要接受 HTTPS 請求時,才需要使用 --enable-ssl --enable-so 選項。

  5. 對於在 Linux 2.1 上執行的 Apache,編譯之前請:

    1. 開啟 src/MakeFile 並尋找自動產生的區段的結束位置。

    2. 在自動產生的區段之後的前四行的後面增加以下行:

      LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c 
      -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/application-server-install-dir/lib -L/opt/sun/private/lib

      請注意,只有將 Application Server 安裝至 Java Enterprise System 底下時,才需要 -L/opt/sun/private/lib

      例如︰

      ## (End of automatically generated section)
      ## 
      CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
      LIBS=$(EXTRA_LIBS) $(LIBS1)
      INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
      LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
      "LIBS+= -licuuc -licui18n -lnspr4 -lpthread 
      -lxerces-c -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/application-server-install-dir /lib -L/opt/sun/private/lib
    3. 設定環境變數 LD_LIBRARY_PATH

      對於獨立式安裝,將此變數設為 Application Server:as-install/lib

      對於 Java Enterprise System 安裝,將此變數設為 Application Server:as-install/lib:opt/sun/private/lib.

      若您使用 Solaris 9,請將 /usr/local/lib 增加至 LD_LIBRARY_PATH

  6. 按照適用於您所使用之版本的安裝說明編譯 Apache。

    如需更多資訊,請參閱 http://httpd.apache.org/

    一般來說,這些步驟包括:

    1. make

    2. make install

  7. 請確定 Apache 的 ssl.confhttpd.conf 檔案包含適用於作業環境的正確值。

    • ssl.conf 中,對於 VirtualHost default:port,請以安裝 Apache 的本機系統主機名稱和伺服器連接埠號,取代預設主機名稱和連接埠號。

      若不做此變更,負載平衡器將無法運作。在 Solaris 上,Apache 可能無法啟動,在 Linux 上,HTTPS 請求可能無法運作。

    • ssl.conf 中,對於 ServerName www.example.com:443,請以安裝 Apache 的本機系統主機名稱取代 www.example.com

      若不做此變更,如果有安裝安全憑證,在啟動 Apache 時會出現下列警告:


      [warn] RSA server certificate CommonName (CN) 
      hostname does NOT match server name!

      如需有關安裝 Apache 憑證的更多資訊,請參閱為 Apache 建立安全性憑證

    • httpd.conf 中,對於 ServerName www.example.com:80,請以安裝 Apache 的本機系統主機名稱取代 www.example.com

      若沒有做此變更,則啟動 Apache 時您會看到的警告訊息,包括系統無法判定伺服器的完全合格網域名稱,以及有重疊的 VirtualHost 項目。

  8. 確定 Apache 使用者擁有 apache-install-location/conf/ 目錄及此目錄中檔案的必要存取權限。

    Apache 使用者是 Apache 伺服器用來回應請求的 UNIX 使用者身份。此使用者是在 httpd.conf 檔案中定義。

    若您以超級使用者身份安裝 Apache,請參閱 apache-install-location/conf/httpd.conf 中,有關如何配置 Apache 使用者及群組的備註。


    備註 –

    請確定您的使用者及群組配置符合此目錄的安全性需求。例如,若要限制存取此目錄,請將 Apache 使用者新增到目錄所有者所屬的使用者群組。


    1. 若要確保「自動套用」功能正確運作,請將 apache-install-location/conf/ 目錄的讀取、寫入及執行存取權授予 Apache 使用者。

      • 如果 Apache 使用者與此目錄的所有者位於相同的群組,請將模式變為 775。

      • 如果 Apache 使用者與此目錄的所有者位於不同的群組,請將模式變為 777。

    2. 若要在 Apache 啟動時確保負載平衡器外掛程式已初始化,請將下列檔案的讀取存取權和寫入存取權授予 Apache 使用者:

      • apache-install-location /conf/loadbalancer.xml

      • apache-install-location /conf/sun-loadbalancer_1_2.dtd

匯出及匯入 DAS 憑證

您必須使用下列指令來手動匯出 DAS 憑證:

appserver-install-dir/lib/upgrade/certutil -L -d appserver-instance-dir/config -n s1as -a -o sjsas.crt

安裝負載平衡器外掛程式時需要使用此憑證。

Application Server 9.1 安裝程式會為您執行下列作業。

負載平衡外掛程式安裝程式所做的修改

負載平衡外掛程式安裝程式會將必要的檔案,擷取至 Web 伺服器根目錄的 modules 目錄中:

安裝程式會將以下項目增加至 Web 伺服器實例的 httpd.conf 檔案︰

##BEGIN EE LB Plugin Parameters
LoadModule apachelbplugin_module modules/mod_loadbalancer.so
#AddModule mod_apachelbplugin.cpp
<IfModule mod_apachelbplugin.cpp> 
  config-file webserver-instance/httpd/conf/loadbalancer.xml
  locale en
</IfModule>
<VirtualHost machine-ip-address>
  DocumentRoot "webserver-instance/httpd/htdocs"
  ServerName server-name
</VirtualHost>
##END EE LB Plugin Parameters

安裝負載平衡外掛程式後配置 Apache

Apache Web Server 需要有正確的安全性檔案才能使用負載平衡外掛程式。負載平衡器依賴需要這些安全性資料庫檔案的 NSS (Network Security Service) 程式庫。這些安全資料庫檔案必須自 Application Server 取得,因此 Application Server 必須安裝於 Web 伺服器可存取的位置。

若要配置 Apache 安全性檔案來使用負載平衡器,請執行下列步驟:

/usr/lib/mps 附加至 Apache-install-dir/bin/apachectl 程序檔中的 LD_LIBRARY_PATH

Procedure為 Apache 建立安全性憑證

在 Apache 上需要這些步驟來支援 HTTPS 請求。

如需有關在 Apache 上設定安全性憑證的詳細資訊,請參閱 http://httpd.apache.org/docs/2.2/ssl/ssl_faq.htmlhttp://www.modssl.org/docs/2.8/ssl_faq.html 上的說明。下列程序改編自上述網站。

  1. 設定下列環境變數:

    OPENSSL_CONF=OpenSSL-installation-directory /apps/openssl.cnf.

  2. 執行以下指令以建立伺服器憑證及金鑰:

    openssl req -new -x509 -keyout newreq.pem -out newreq.pem -days 365

    系統要求一般名稱時,請提供您打算在其中執行 Apache 的主機名稱。對於所有其他的提示,請輸入符合特定需求的值。

    此指令會建立 newreq.pem

  3. 自執行 openssl 指令的位置開啟剛建立的 newreq.pem

  4. 複製從 BEGIN CERTIFICATE 開始到 END CERTIFICATE 為止的指令行,並貼到 Apache-install-dir/conf/ssl.crt/server.crt 中。例如︰


    -----BEGIN CERTIFICATE-----
    ....
    ...
    -----END CERTIFICATE-----
  5. 複製從 BEGIN RSA PRIVATE KEY 開始到 END RSA PRIVATE KEY 為止的指令行,並貼到 Apache-install-dir/conf/ssl.key/server.key 中。例如︰


    -----BEGIN RSA PRIVATE KEY-----
    ...
    ...
    ...
    -----END RSA PRIVATE KEY-----
  6. 請確定在 Apache-install-dir /conf/ssl.conf 中的變數 SSLCertificateKeyFileSSLCertificateFile 都具有正確值。

  7. 請確定 ServerName 不是 www.example.com。ServerName 應是要執行 Apache 的實際主機名稱,並與您在建立伺服器憑證及金鑰時輸入的一般名稱相同。

修改 httpd.conf 參數以啟用居留式循環

若要使用居留式循環功能,請在 httpd.conf 檔案的 prefork MPM 區段下,確定將 StartServersmaxclients 參數值設為 1。否則,每個新的階段作業請求都會產生新的 Apache 程序,且將初始化負載平衡器外掛程式,導致請求被傳送到相同的實例。

在 Solaris 和 Linux 上啟動 Apache

通常啟動 Apache 時所用的使用者身份,應與安裝 Application Server 時所用的身份相同。只有在下列情況時,才必須以超級使用者身份啟動 Apache:

若要以 SSL 模式啟動 Apache,請使用下列其中一個指令:

apachetl startsslapachetl -k start -DSSL

必要的話,請查看 Apache 網站上有關啟動 Apache 伺服器的最新資訊。

確認設定

  1. 安裝負載平衡外掛程式。如需安裝外掛程式的詳細步驟,請參閱「Sun Java System Application Server 9.1 Installation Guide」。在安裝過程中,提供 DAS 憑證的路徑。

  2. 登入「Application Server Admin Console」並建立新叢集。如需建立新叢集的步驟,請參閱管理主控台線上說明。

  3. 建立新的 HTTP 負載平衡器。建立負載平衡器時,請將 Web 伺服器主機的 FQDN 指定為裝置主機名稱,將 Web 伺服器的「SSL 連接埠」指定為裝置連接埠,再將前一個步驟中所建立的叢集選為目標。如需建立新的 HTTP 負載平衡器的詳細步驟,請參閱管理主控台線上說明。

  4. 若要確認 DAS 與 Web 伺服器之間的通訊是否正常運作,請在「管理主控台」中,瀏覽到 [HTTP 負載平衡器] 節點並按一下 [HTTP 負載平衡器]。在出現的 [負載平衡器裝置設定] 頁面中,按一下 [測試連線] 按鈕。

    若未在建立負載平衡器時啟用 [自動套用變更] 選項,則必須前往 [匯出] 標籤並按一下 [立即套用變更],來手動匯出負載平衡器配置。

  5. 若測試連線失敗,請務必檢查 Application Server 網域記錄及 Web 伺服器記錄來疑難排解問題。另請檢查是否已正確執行所有配置步驟。

使用 Microsoft IIS

若要搭配使用 Microsoft Internet Information Services (IIS) 與負載平衡器外掛程式,請執行這些章節中所提供的步驟。

Procedure配置 Microsoft IIS 以使用負載平衡外掛程式

  1. 開啟網際網路服務管理程式。

  2. 選取您要為之啟用外掛程式的網站。

    此網站通常命名為「預設網站」。

  3. 在網站上按一下滑鼠右鍵,選取 [特性] 以開啟 [特性] 筆記本。

  4. 依循以下步驟,增加新的 ISAPI 篩選器︰

    1. 開啟 [ISAPI 篩選器] 標籤。

    2. 按一下 [新增]。

    3. 在 [篩選器名稱] 欄位中,輸入 Application Server

    4. 在 [可執行] 欄位中,鍵入 C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.dll

    5. 按一下 [確定],關閉 [特性] 筆記本。

  5. 建立並配置新的虛擬目錄:

    1. 在預設網站上按一下滑鼠右鍵,選取 [新建],然後選取 [虛擬目錄]。

      [虛擬目錄建立精靈] 將開啟。

    2. 在 [別名] 欄位中,鍵入 sun-passthrough

    3. 在 [目錄] 欄位中,鍵入 C:\Inetpub\wwwroot\sun-passthrough

    4. 核取 [執行許可權] 核取方塊。

      使與許可權相關的所有其他核取方塊保持未核取狀態。

    5. 按一下 [完成]。

  6. sun-passthrough.dll 檔案的路徑、Application Server as-install/bin 和 Application Server as-install/lib 增加至系統的 PATH 環境變數中。

  7. 對於 IIS 6.0 使用者,請依下列步驟配置負載平衡器網頁服務延伸,以在 IIS 6 中執行:

    1. 在 IIS 管理程式中展開本機電腦,並按一下 [網頁服務延伸模組]。

    2. 在 [工作] 窗格中,選取 [新增網頁服務延伸]。

    3. 輸入 Sun-Passthrough 作為延伸名稱,並按一下 [新增]。

    4. 將路徑 C:\Inetpub\wwwroot\sun-passthrough 鍵入到 sun-passthrough.dll

    5. 按一下 [確定]。

    6. 選取 [設定延伸狀態成允許]。

  8. 對於 IIS 6.0 使用者,建立檔案 C:\inetput\wwwroot\sun-passthrough\lb.log,並將 NTFS 寫入及修改權限給予檔案上的群組 IIS_WPG

    IIS 6.0 以工作者處理序隔離模式執行,因此它會以群組 IIS_WPG 的安全性權限執行 IIS 伺服器。

  9. 所有的 IIS 使用者請重新啟動機器。

  10. 確認 Web 伺服器、負載平衡器外掛程式和 Application Server 是否正常作業。

    在 Web 瀏覽器中鍵入以下 URL,以存取 Web 應用程式環境根目錄︰http://web-server-name/web-application,其中 web-server-name 為 Web 伺服器的主機名稱或 IP 位址,而 web-application 為在 C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties 檔案中列出的環境根目錄。


    提示 –

    ISAPI 篩選器狀態應為綠色。若要檢查篩選器狀態,請存取網站的 [特性] 筆記本,並按一下 [ISAPI 篩選器] 標籤。若狀態不是綠色,請試著傳送任意 HTTP 請求到 IIS HTTP 連接埠。即使請求失敗也無妨。重新檢查 ISAPI 篩選器狀態。


自動配置的 sun-passthrough 特性

安裝程式會自動在 sun-passthrough.properties 中配置下列特性。您可以變更預設值。

特性 

定義 

預設值 

lb-config-file

負載平衡器配置檔案的路徑 

IIS-www-root\sun-passthrough \loadbalancer.xml

log-file

負載平衡器記錄檔的路徑 

IIS-www-root\sun-passthrough\lb.log

log-level

Web 伺服器的記錄層級 

資訊 


備註 –

Application Server 9.1 的「自動套用」功能目前不受 IIS 支援。