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

使用 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 伺服器記錄來疑難排解問題。另請檢查是否已正確執行所有配置步驟。