若為 Sun Java System Web Server,則當您使用 Sun Java System Application Server 9.1 安裝精靈安裝負載平衡器外掛程式時,安裝精靈會自動完成所有必要的配置。不需要進行手動配置。Application Server 9.1 隨附的負載平衡器外掛程式支援下列 Sun Java System Web Server 版本:
Sun Java System Web Server 6.1
Sun Java System Web Server 7.0
但若是使用 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)」一節。
Application Server 9.1 的安裝程式會自動執行下列步驟。但若是使用 GlassFish v2,則需要手動執行這些步驟。
前往 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=
若不存在下行,請予以新增:
Init fn="load-modules" shlib=".../libj2eeplugin.so" shlib_flags="(global|now)"
在 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 」。
將下列幾行新增到 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>
編輯 web-server-install-dir /start 程序檔,更新 LD_LIBRARY_PATH 值以併入 app-server-install-dir/lib/lbplugin/lib。
app-server-install-dir /lib/lbplugin/lib 目錄包含負載平衡器外掛程式所需的二進位碼。
(可選擇) 若為新的 DAS 型負載平衡器管理,請配置 Web 伺服器的 SSL 功能。
如需 Web Server 6.1 的詳細說明,請參閱在 SSL 模式中為 Sun Java System Web Server 6.1 設定負載平衡器 。
如需 Web Server 7 的詳細說明,請參閱在 SSL 模式中為 Web Server 7 設定負載平衡器。
若 Web 伺服器未執行,請啟動 Web 伺服器。
「自動套用」是 Application Server 9.1 提供的功能,可透過網路將負載平衡器配置自動傳送到 Web 伺服器配置目錄。如需此功能的更多資訊,請參閱自動套用。下列程序說明如何配置 Sun Java System Web Server (版本 6 及 7) 來使用此功能。
唯有當您想使用負載平衡器外掛程式的「自動套用」功能時,才需要執行本節中的步驟。此功能可協助您透過網路,將負載平衡器配置自動傳送到 Web 伺服器配置目錄。
使用瀏覽器存取 Web 伺服器的管理主控台並登入。
選取您的伺服器實例,然後按一下 [管理]。
按一下 [安全性] 標籤。
提供使用者名稱和密碼來初始化信任資料庫。此動作可使用 certutil 指令或 GUI 來完成。certutil 指令的下列選項可用來初始化信任資料庫:
certutil -N -P "https-instance-name-hostname-" -d .
當 certutil 提示您時,請輸入密碼來加密您的金鑰。輸入密碼來加密您的金鑰。密碼必須至少有八個字元長,且至少包含一個非字母字元。
當系統提示您輸入新密碼時,請指定密碼。
使用下列指令建立本機憑證授權單位 (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
使用上述 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
依照下列步驟中的說明,建立 HTTPS 偵聽程式:
若是使用 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
若是使用 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>-
如果 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>
您可以使用確認設定一節中所提供的步驟,確認上述設定。您可以改用任何其他 CA 和伺服器憑證取代本機 CA。在這種情況下,您可以略過上一節中所示的步驟 5 和步驟 6,但需要匯入自其他 CA 所取得的伺服器憑證。
使用下列指令,啟動 Web 伺服器的管理伺服器。
webserver-install-dir/admin_server/bin/startserv
依照下列步驟中的說明,建立 HTTPS 偵聽程式。若已存在 HTTP 偵聽程式,則可略過下列步驟跳到匯出及匯入 Sun Java System Web Server 7 的 DAS 憑證一節。
登入 Web 伺服器管理主控台。
選取預設配置。一般而言,預設配置名稱與主機名稱相同。若要從 [常用工作] 頁面執行此動作,請從 [選取配置] 清單中選取配置,然後按一下 [編輯配置]。或者,可以開啟 [配置] 頁面,並按一下 [配置] 表格中的預設配置名稱。
若位於 [常用工作] 頁面,請按一下 [請求伺服器憑證]。反之,若是位於 [配置] 頁面,請開啟 [憑證] 頁面,然後按一下 [伺服器憑證] 表格的 [請求] 按鈕。這是為此預設配置建立自我簽署伺服器憑證的必要動作。
提供 [請求伺服器憑證] 視窗所要求的詳細資訊。
執行此動作時,請務必在「*伺服器名稱 (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
返回選取的配置頁面。
開啟 [HTTP 偵聽程式] 頁面,然後按一下 [新增] 按鈕。此動作可用來建立 SSL 啟用的 HTTP 偵聽程式。
提供「新增 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
執行以上列出的步驟後,您會在管理主控台右上角看到「部署擱置中」警示。按一下此警示,並遵循說明完成部署。此步驟可確保將 Web 伺服器的管理伺服器中所儲存的配置變更,複製到 Web 伺服器實例。
藉由匯出和匯入 DAS 憑證,可將 DAS 變成 Web 伺服器的受信任用戶端。使用 DAS 憑證的用戶端認證可確保唯有連線到 Web 伺服器的 DAS 可做為受信任的用戶端。
開啟終端機視窗,並使用下列指令設定 LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/opt/SUNWappserver/lib
若是使用 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 伺服器配置目錄。
若是使用 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 伺服器管理主控台來檢視此憑證。選取已匯入憑證的配置 (在此情況下為預設配置),然後選取 [憑證] 標籤。若要查看所有可用的憑證,請選取 [憑證授權單位] 子標籤。
若是使用 GlassFish v2,請為 Web Server 7 執行下列配置變更。若是使用 Application Server 9.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>
部署配置。執行在前幾個步驟中所列出的變更時,管理主控台會將此配置標記為已部署。
從 GlassFish DAS 測試此設定,查看其是否可透過 SSL 與已配置的 HTTP 負載平衡器進行通訊。如需更多資訊,請參閱確認設定。