煩惱歲月

          付出總是有回報的 take action follow your heart , or follow your head
          posts - 40, comments - 5, trackbacks - 0, articles - 4

          安裝和配置 Apache HTTP Server 插件

          Posted on 2007-11-13 13:08 不需要解釋 閱讀(3098) 評論(0)  編輯  收藏 所屬分類: weblogic

          Apache HTTP Server 插件概述

          Apache HTTP Server 插件允許將請求從 Apache HTTP Server 代理到 WebLogic Server。該插件允許 WebLogic Server 處理要求使用 WebLogic Server 動態(tài)功能的請求,從而增強了 Apache 安裝。

          該插件專用于某種環(huán)境,在這樣的環(huán)境中,Apache Server 提供靜態(tài)頁,而文檔樹的另一個部分(最好是由 HTTP Servlet 或 Java Server Page 生成的動態(tài)頁)會委托給可以在不同的進程中(可能在不同的主機上)進行操作的 WebLogic Server。對于最終用戶(瀏覽器),委托給 WebLogic Server 的 HTTP 請求看似仍然來自同一個來源。

          HTTP 隧道是一種技術(shù),它允許 HTTP 請求和響應(yīng)通過公司的防火墻進行訪問。它也可以通過插件操作,提供對 WebLogic Server 服務(wù)的非瀏覽器客戶端訪問。

          Apache HTTP Server 插件充當 Apache HTTP Server 中的 Apache 模塊。Apache 模塊由 Apache Server 在啟動時加載,然后某些 HTTP 請求會委托給它。Apache 模塊類似于 HTTP Servlet(除了 Apache 模塊是用平臺本地代碼編寫的之外)。

          有關(guān)支持 Apache HTTP Server 插件的配置的信息,請參閱 http://edocs.bea.com/platform/suppconfigs/configs92/92_over/add-ons.html

          Apache 2.0 版中的保持活動連接

          2.0 版的 Apache HTTP Server 插件通過使用從插件到 WebLogic Server 的可重用連接緩沖池提高了性能。該插件通過對來自同一客戶端的后續(xù)請求重用緩沖池中的同一連接,在插件和 WebLogic Server 之間實現(xiàn)了 HTTP 1.1 保持活動連接。如果連接處于非活動狀態(tài)的時間超過 30 秒(或用戶定義的時間),則會關(guān)閉該連接并將其返回到緩沖池中。可以根據(jù)需要禁用此功能。有關(guān)詳細信息,請參閱“KeepAliveEnabled”。

          代理請求

          插件根據(jù)指定的配置將請求代理到 WebLogic Server。可以根據(jù)請求的 URL(或 URL 的一個部分)代理請求。這稱為按路徑進行代理。還可以根據(jù)請求文件的 MIME 類型代理請求。或者可以使用這兩種方法的組合。如果請求同時符合這兩個條件,則按路徑代理請求。同時,可以為每種類型的請求指定其他參數(shù),來定義插件的其他行為。有關(guān)詳細信息,請參閱配置 Apache HTTP Server 插件

          Apache 2.2

          盡管此文檔討論的是 Apache 2.0,您可應(yīng)用同樣的說明來使用具有表 3-2 中所示的庫的 Apache 2.2。

          證書

          Linux、Solaris、Windows 和 HPUX11 平臺支持 Apache HTTP Server 插件。有關(guān)對特定 Apache 版本的支持信息,請參閱 http://edocs.bea.com/platform/suppconfigs/configs92/92_over/add-ons.html

           


          安裝 Apache HTTP Server 插件

          可將 Apache HTTP Server 插件作為 Apache HTTP Server 安裝中的 Apache 模塊進行安裝,并將其作為動態(tài)共享對象(Dynamic Shared Object,簡稱 DSO)進行鏈接。

          DSO 作為服務(wù)器在運行時動態(tài)加載的庫進行編譯,可以在不重新編譯 Apache 的情況下安裝。

          將 Apache HTTP Server 插件作為動態(tài)共享對象安裝

          Apache 插件作為 Solaris、Linux、Windows 和 HPUX11 平臺的共享對象 (.so) 分發(fā)。BEA WebLogic 提供因平臺、是否要在客戶端和 Apache 之間使用 SSL 以及 SSL 加密強度(常規(guī)或 128 位 - 只有在安裝 128 位版本的 WebLogic Server 時才會安裝 128 位版本)而異的共享對象文件版本。

          表 3-1 顯示包含各種平臺的共享對象文件的 WebLogic Server 安裝目錄(其中 WL_HOME 是 WebLogic 平臺的頂級安裝目錄)。

          表 3-2 針對不同版本的 Apache HTTP Server 和不同加密強度來標識 WebLogic Server Apache 插件模塊。

          表 3-1 插件共享對象文件的位置
          操作系統(tǒng)
          共享對象位置
          Solaris
          WL_HOME/weblogic92/server/plugin/solaris/sparc
          Linux
          WL_HOME/weblogic92/server/plugin/linux/i686
          WL_HOME/weblogic92/server/plugin/linux/ia64
          WL_HOME/weblogic92/server/plugin/linux/s390
          Windows(僅適用于 Apache 2.0)
          WL_HOME\weblogic92\server\plugin\win\32
          WL_HOME\weblogic92\server\plugin\win\64
          HPUX11
          WL_HOME/weblogic92/server/plugin/hpux11/IPF64
          WL_HOME/weblogic92/server/plugin/hpux11/PA_RISC
          警告: 如果在 HP-UX11 上運行 Apache 2.0.x Server,請在構(gòu)建 Apache Server 之前設(shè)置下面緊鄰的環(huán)境變量。由于 HP-UX 上加載鏈接庫的順序問題,如果在生成之前未將加載順序預(yù)設(shè)為環(huán)境變量,則可能導(dǎo)致核心轉(zhuǎn)儲。設(shè)置下列環(huán)境變量,然后繼續(xù) Apache configure, makemake install 步驟(在 Apache HTTP Server 文檔中描述了這些步驟,該文檔位于 http://httpd.apache.org/docs-2.1/install.html#configure):
          export EXTRA_LDFLAGS="-lstd -lstream -lCsup -lm -lcl -ldld -lpthread"

          從下表中選擇適當?shù)牟寮蚕韺ο蟀姹荆?

          表 3-2 Apache 插件共享對象文件版本
          Apache 版本
          常規(guī)強度的加密
          128 位加密
          標準 Apache 2.0.x 版
          mod_wl_20.so
          mod_wl28_20.so
          標準 Apache 2.2.x 版
          mod_wl_22.so
          mod_wl28_22.so

          要將 Apache HTTP Server 插件作為動態(tài)共享對象安裝,請執(zhí)行下列操作:

          1. 使用表 3-1 找到您的平臺的共享對象目錄。
          2. 表 3-2 中確定您的 Apache 版本的插件共享對象文件。
          3. 驗證是否已啟用 WebLogic Server Apache HTTP Server 插件 mod_so.c 模塊。

            Apache HTTP Server 插件將作為動態(tài)共享對象 (DSO) 安裝在 Apache HTTP Server 安裝中。Apache 中的 DSO 支持是基于模塊 mod_so.c 的,必須在加載 mod_wl_20.so 之前啟用該模塊。如果使用 Apache 提供的腳本安裝 Apache HTTP Server,則 mod_so.c已被啟用。通過執(zhí)行以下命令,驗證是否已啟用 mod_so.c

            APACHE_HOME\bin\apache -l

            (其中 APACHE_HOME 是包含 Apache HTTP Server 安裝的目錄。)

            此命令會列出所有已啟用的模塊。如果未列出 mod_so.c,則必須重新生成 Apache HTTP Server,以確保配置下列選項:

            ...
            --enable-module=so
            --enable-rule=SHARED_CORE
            ...
            請參閱位于 
                http://httpd.apache.org/docs/2.0/dso.html 的“Apache 2.0 Shared Object (DSO) Support”。
          4. mod_wl_20.so 文件復(fù)制到 APACHE_HOME\modules 目錄中,并將以下行手工添加到 APACHE_HOME/conf/httpd.conf 文件中,為 Apache 2.0.x 版安裝 Apache HTTP Server 插件模塊:
            LoadModule weblogic_module     modules/mod_wl_20.so
          5. 為 Apache HTTP Server 插件定義任何其他參數(shù)。

            Apache HTTP Server 插件可識別 Web 服務(wù)器插件的常規(guī)參數(shù)中列出的參數(shù)。要修改 Apache HTTP Server 插件的行為,請在以下塊中定義這些參數(shù):

            • Location 塊中,定義適用于按路徑進行的代理的參數(shù)
            • IfModule 塊中,定義適用于按 MIME 類型進行的代理的參數(shù)
          6. 使用下列命令驗證 APACHE_HOME\conf\httpd.conf 文件的語法:
            APACHE_HOME\bin\apachectl -t 

            此命令的輸出將報告 httpd.conf 文件中的任何錯誤或返回:

            Syntax OK
          7. 重新啟動 Weblogic Server。
          8. 啟動(或重新啟動,如果已更改配置)Apache HTTP Server。
          9. 通過打開瀏覽器并將 URL 設(shè)置為 Apache Server +“/weblogic/”(這將打開默認 WebLogic Server HTML 頁、歡迎文件或默認 Servlet,如 WebLogic Server 上對默認 Web 應(yīng)用程序的定義)來測試插件。例如:
            http://myApacheserver.com/weblogic/

           


          配置 Apache HTTP Server 插件

          在 Apache HTTP Server 中安裝插件后,需要對 WebLogic Server Apache 插件進行配置并將服務(wù)器配置為使用該插件。本部分說明如何編輯 Apache httpd.conf 文件以指示 Apache 服務(wù)器為作為 Apache 模塊的插件加載 WebLogic Server 庫,并指定應(yīng)由該模塊處理的應(yīng)用程序請求。

          編輯 httpd.conf 文件

          編輯 Apache HTTP Server 安裝中的 httpd.conf 文件以配置 Apache HTTP Server 插件。

          本部分說明如何查找和編輯 httpd.conf 文件以實現(xiàn)下列操作:配置服務(wù)器以使用 WebLogic Server Apache 插件、按路徑或 MIME 類型代理請求、啟用 HTTP 隧道,以及使用其他 WebLogic Server 插件參數(shù)。

          1. 打開 httpd.conf 文件。

            該文件位于 APACHE_HOME\conf\httpd.conf(其中 APACHE_HOME 是 Apache HTTP Server 安裝的根目錄)。請參閱設(shè)置邊界身份驗證中的示例 httpd.conf 文件。

          2. 確保 Apache 2.0.x 中包含 WebLogic Server 模塊,手工將下面的行添加到 httpd.conf 文件中。
            LoadModule weblogic_module   modules\mod_wl_20.so
          3. 添加用于定義以下參數(shù)之一的 IfModule 塊:

            對于非群集 WebLogic Server:

            WebLogicHost 和 WebLogicPort 參數(shù)。

            對于 WebLogic Server 群集:

            WebLogicCluster 參數(shù)。

            例如:

            <IfModule mod_weblogic.c>
              WebLogicHost myweblogic.server.com
              WebLogicPort 7001
            </IfModule>
          4. 要按 MIME 類型代理請求,請將 MatchExpression 行添加到 IfModule 塊中。請注意,如果同時啟用按 MIME 類型進行的代理和按路徑進行的代理,則按路徑進行的代理優(yōu)先于按 MIME 類型進行的代理。

            例如,以下針對非群集 WebLogic Server 的 IfModule 塊指定代理具有 MIME 類型 .jsp 的所有文件:

            <IfModule mod_weblogic.c>
              WebLogicHost myweblogic.server.com
              WebLogicPort 7001
              MatchExpression *.jsp
            </IfModule>

            也可以使用多個 MatchExpressions,例如:

            <IfModule mod_weblogic.c>
              WebLogicHost myweblogic.server.com
              WebLogicPort 7001
              MatchExpression *.jsp
              MatchExpression *.xyz
            </IfModule>

            如果要按 MIME 類型將請求代理到 WebLogic Server 群集,請使用 WebLogicCluster 參數(shù),而不使用 WebLogicHostWebLogicPort 參數(shù)。例如:

            <IfModule mod_weblogic.c>
              WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
              MatchExpression *.jsp
              MatchExpression *.xyz
            </IfModule>
          5. 要按路徑代理請求,請使用 Location 塊和 SetHandler 語句。SetHandler 指定Apache HTTP Server 插件模塊的處理程序。例如,以下位置塊代理 URL 中包含 /weblogic 的所有請求:
            <Location /weblogic>
            SetHandler weblogic-handler
            PathTrim /weblogic
            </Location>

            PathTrim 參數(shù)指定在將請求傳遞到 WebLogic Server 實例之前從 URL 的開始部分剪切的字符串(請參閱 Web 服務(wù)器插件的常規(guī)參數(shù))。

          6. (可選)對 t3 或 IIOP 啟用 HTTP 隧道。
            1. 要在使用 t3 協(xié)議和 weblogic.jar 時啟用 HTTP 隧道,請將以下 Location 塊添加到 httpd.conf 文件中:
              <Location /HTTPClnt>
              SetHandler weblogic-handler
              </Location>
            2. 要在使用 IIOP(WebLogic Server 瘦客戶端 wlclient.jar使用的唯一協(xié)議)時啟用 HTTP 隧道,請將以下 Location 塊添加到 httpd.conf 文件中:
              <Location /iiop>
              SetHandler weblogic-handler
              </Location>
          7. 為 Apache HTTP Server 插件定義任何其他參數(shù)。

            Apache HTTP Server 插件可識別 Web 服務(wù)器插件的常規(guī)參數(shù)中列出的參數(shù)要修改 Apache HTTP Server 插件的行為,請在以下塊中定義這些參數(shù):

            • Location 塊中,定義適用于按路徑進行的代理的參數(shù)
            • IfModule 塊中,定義適用于按 MIME 類型進行的代理的參數(shù)

          將 weblogic.conf 文件包括在 httpd.conf 文件中

          如果希望保留幾個單獨的配置文件,則可通過在 httpd.conf文件的 IfModule 塊中使用 Apache Include 指令,在名為 weblogic.conf 文件的單獨配置文件中定義參數(shù):

          <IfModule mod_weblogic.c>
          # Config file for WebLogic Server that defines the parameters
          Include conf/weblogic.conf
          </IfModule>

          weblogic.conf 文件的語法與 httpd.conf 文件的語法相同。

          本部分描述如何創(chuàng)建 weblogic.conf 文件,并包括示例 weblogic.conf 文件。

          創(chuàng)建 weblogic.conf 文件

          構(gòu)造 weblogic.conf 文件時,請注意下列事項:

          • 如果要在 Apache HTTP Server 插件和 WebLogic Server 之間使用 SSL,則無法在通過 Apache Include 指令訪問的文件(與 weblogic.conf文件一樣)中定義參數(shù)。
          • 在新行上輸入每一個參數(shù)。請不要在參數(shù)和參數(shù)值之間放置“=”。例如:
            PARAM_1 value1
            PARAM_2 value2
            PARAM_3 value3
          • 如果請求既與 IfModule 塊中的 MatchExpression 中指定的 MIME 類型匹配,又與 Location 塊中指定的路徑匹配,則 Location 塊指定的行為優(yōu)先。
          • 如果要定義 CookieName 參數(shù),則必須在 IfModule 塊中定義它。
          • 如果使用 Apache HTTP Server <VirtualHost> 塊,則必須在 <VirtualHost> 塊中包括虛擬主機的所有配置參數(shù)(例如 MatchExpression)(請參閱 Apache Virtual Host documentation)。
          • 如果希望只為環(huán)境中的所有虛擬主機配置一個日志文件,則可以使用全局屬性來實現(xiàn)。可以在 <IfModule> 標記中一次指定 Debug、WLLogFile 和 WLTempDir 屬性,而不是在每個虛擬主機中指定相同的 Debug、WLLogFile 和 WLTempDir 屬性。
          • 示例 httpd.conf 文件:
            <IfModule mod_weblogic.c>
              WebLogicCluster	agarwalp02:8005,agarwalp02:8006
              Debug 		ON
              WLLogFile             c:/tmp/global_proxy.log 
              WLTempDir             "c:/myTemp"
              DebugConfigInfo       On
              KeepAliveEnabled ON
              KeepAliveSecs  15
            </IfModule>
            <Location /jurl>
              SetHandler weblogic-handler
              WebLogicCluster agarwalp01:7001
            </Location>
            <Location /web>
              SetHandler weblogic-handler
              PathTrim		/web
              Debug 		OFF
              WLLogFile 		c:/tmp/web_log.log
            </Location>
            <Location /foo>
              SetHandler weblogic-handler
              PathTrim		/foo
              Debug 		ERR
              WLLogFile 		c:/tmp/foo_proxy.log
            </Location>
          • 與 /jurl/* 匹配的所有請求的“調(diào)試級別”都將設(shè)置為“ALL”,并會將日志消息記錄到 c:/tmp/global_proxy.log 文件中。與 /web/* 匹配的所有請求的“調(diào)試級別”都將設(shè)置為“OFF”,并且不會記錄任何日志消息。與 /foo/* 匹配的所有請求的“調(diào)試級別”都將設(shè)置為“ERR”,并會將日志消息記錄到 c:/tmp/foo_proxy.log 文件中。
          • BEA 建議使用 MatchExpression 語句,而不使用 <files> 塊。

          示例 weblogic.conf 配置文件

          以下示例 weblogic.conf 文件可以用作模板,您可以對其進行修改以滿足您的環(huán)境和服務(wù)器的需要。以 # 開始的行是注釋。

          使用 WebLogic 群集的示例
          # 這些參數(shù)對于定向到當前模塊 
          # 的 URL 是常用的。如果要替換每個 URL 的這些參數(shù),
          # 可以在 <Location> 或 <Files> 模塊中重新設(shè)置
          # 它們。(WebLogicHost、
          # WebLogicPort、 WebLogicCluster 和 CookieName 除外。)
          <IfModule mod_weblogic.c>
            WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
            ErrorPage http://myerrorpage.mydomain.com
            MatchExpression *.jsp
          </IfModule>
          ####################################################
          使用多 WebLogic 群集的示例

          在此示例中,用于表示文件名模式的 MatchExpression 參數(shù)語法、HTTP 請求應(yīng)轉(zhuǎn)發(fā)到的 WebLogic Server 主機以及各種其他參數(shù)如下所示:

          MatchExpression [filename pattern] [WebLogicHost=host] | [paramName=value]

          下面的第一個 MatchExpression 參數(shù)指定文件名模式 *.jsp,然后命名單個 WebLogicHost。管道符號后的 paramName=value 組合指定 WebLogic Server 用于監(jiān)聽連接請求的端口,同時激活“Debug”選項。第二個 MatchExpression 指定文件名模式 *.http 并標識 WebLogicCluster 主機及其端口。管道符號后的 paramName=value 組合指定群集的錯誤頁。

          # 這些參數(shù)對于定向到當前模塊 
          # 的 URL 是常用的。如果要替換每個 URL 的這些參數(shù),
          # 可以在 <Location> 或 <Files> 模塊中重新設(shè)置
          # 它們。
          #(WebLogicHost、WebLogicPort、WebLogicCluster 和 CookieName 除外)
          <IfModule mod_weblogic.c>
            MatchExpression *.jsp WebLogicHost=myHost|WebLogicPort=7001|Debug=ON
            MatchExpression *.html WebLogicCluster=myHost1:7282,myHost2:7283|ErrorPage=
              http://www.xyz.com/error.html
          </IfModule>
          不使用 WebLogic 群集的示例
          # 這些參數(shù)對于定向到當前模塊 
          # 的 URL 是常用的。如果要替換每個 URL 的這些參數(shù),
          # 可以在 <Location> 或 <Files> 模塊中重新設(shè)置
          # 它們。
          #(WebLogicHost、WebLogicPort、WebLogicCluster 和 CookieName 除外)
          <IfModule mod_weblogic.c>
            WebLogicHost myweblogic.server.com
            WebLogicPort 7001
            MatchExpression *.jsp
          </IfModule>
          配置多個基于名稱的虛擬主機的示例
          # VirtualHost1 = localhost:80
          <VirtualHost 127.0.0.1:80>
          DocumentRoot "C:/test/VirtualHost1"
          ServerName localhost:80 <IfModule mod_weblogic.c>
          #... WLS 參數(shù) ...
          WebLogicCluster localhost:7101,localhost:7201
          # 示例:MatchExpression *.jsp <some additional parameter>
          MatchExpression *.jsp PathPrepend=/test2
          </IfModule>
          </VirtualHost>
          # VirtualHost2 = 127.0.0.2:80
          <VirtualHost 127.0.0.2:80>
          DocumentRoot "C:/test/VirtualHost1"
          ServerName 127.0.0.2:80
          <IfModule mod_weblogic.c>
          #... WLS 參數(shù) ...
          WebLogicCluster localhost:7101,localhost:7201
          # 示例:MatchExpression *.jsp <some additional parameter>
          MatchExpression *.jsp PathPrepend=/test2
          #... WLS 參數(shù) ...
          </IfModule>
          </VirtualHost> <IfModule mod_weblogic.c>

          必須為“ServerName”定義唯一值,否則某些插件參數(shù)將不能按預(yù)期工作。

          Apache HTTP Server httpd.conf 文件的模板

          本部分包含 Apache 2.0 的示例 httpd.conf 文件。您可將此示例用作模板,并對其進行修改以滿足您的環(huán)境和服務(wù)器的需要。以 # 開始的行是注釋。

          請注意,Apache HTTP Server 不區(qū)分大小寫。

          ####################################################
          APACHE-HOME/conf/httpd.conf file
          ####################################################
          LoadModule weblogic_module   libexec/mod_wl_20.so
          <Location /weblogic>
          SetHandler weblogic-handler
          PathTrim /weblogic
          ErrorPage http://myerrorpage1.mydomain.com
          </Location>
          <Location /servletimages>
          SetHandler weblogic-handler
          PathTrim /something
          ErrorPage http://myerrorpage1.mydomain.com
          </Location>
          <IfModule mod_weblogic.c>
            MatchExpression *.jsp
            WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
            ErrorPage http://myerrorpage.mydomain.com
          </IfModule>

           


          設(shè)置邊界身份驗證

          使用邊界身份驗證可確保通過 Apache 插件訪問的 WebLogic Server 應(yīng)用程序的安全。

          WebLogic 標識聲明提供程序?qū)碜栽L問 WebLogic Server 應(yīng)用程序的外部系統(tǒng)的標記進行身份驗證,包括對通過 Apache HTTP Server 插件訪問 WebLogic Server 應(yīng)用程序的用戶進行身份驗證。按照下列步驟,創(chuàng)建確保插件安全的標識聲明提供程序:

          1. 在 WebLogic Server 應(yīng)用程序上創(chuàng)建一個自定義標識聲明提供程序。請參閱“開發(fā) WebLogic Server 的安全提供程序”中的如何開發(fā)自定義標識聲明提供程序
          2. 配置自定義標識聲明提供程序以支持證書標記類型并使證書成為活動標記類型。請參閱“開發(fā) WebLogic Server 的安全提供程序”中的如何創(chuàng)建新標記類型
          3. 在 Web 應(yīng)用程序的 web.xml 部署描述符文件中將 clientCertProxy 設(shè)置為 True(如果使用群集,也可以選擇在管理控制臺中,依次選擇“群集”-->“配置”-->“常規(guī)”選項卡,在該選項卡上對整個群集將 Client Cert Proxy Enabled 特性設(shè)置為 True)。clientCertProxy 特性可與第三方代理服務(wù)器(如負載平衡器或 SSL 加速器)一起使用以啟用 2 向 SSL 身份驗證。有關(guān) clientCertProxy 特性的詳細信息,請參閱“開發(fā) WebLogic Server 的 Web 應(yīng)用程序、Servlet 和 JSP”中的 context-param
          4. 設(shè)置了 clientCertProxy之后,請務(wù)必使用連接篩選器來確保 WebLogic Server 僅接受來自運行 Apache 插件的計算機的連接。請參閱“WebLogic 安全性編程”中的使用網(wǎng)絡(luò)連接篩選器
          5. Web 服務(wù)器插件需要可信證書頒發(fā)機構(gòu)文件才能在插件和 WebLogic Server 之間使用 SSL。使用 Sun Microsystems 的 Keytool 實用工具可從駐留在 BEA_HOME/weblogic92/server/lib 中的 DemoTrust.jks 密鑰庫文件中導(dǎo)出可信證書頒發(fā)機構(gòu)文件。
            1. 例如,要解壓縮 wlsdemoca 文件,可使用如下命令:
              keytool -export -file trustedcafile.der -keystore DemoTrust.jks -alias wlsdemoca

              更改別名以從密鑰庫中獲得不同的可信 CA 文件。

              要查看密鑰庫中的所有可信 CA 文件,請使用如下命令:
              keytool -list -keystore DemoTrust.jks

              如果提示輸入密碼,請按 Enter 鍵。

            2. 要將證書頒發(fā)機構(gòu)文件轉(zhuǎn)換為 pem 格式,請使用如下命令:java utils.der2pem trustedcafile.der

          請參閱“開發(fā) WebLogic Server 的安全提供程序”中的標識聲明提供程序

           


          將 SSL 與 Apache 插件一起使用

          可以使用安全套接口層(Secure Socket Layer,簡稱 SSL)協(xié)議保護 Apache HTTP Server 插件和 WebLogic Server 之間的連接。SSL 協(xié)議對 Apache HTTP Server 插件和 WebLogic Server 之間傳遞的數(shù)據(jù)提供機密性和完整性。

          Apache HTTP Server 插件不使用 HTTP 請求中(通常由瀏覽器)指定的傳輸協(xié)議(httphttps)來確定是否使用 SSL 協(xié)議來保護 Apache HTTP Server 插件和 WebLogic Server 之間的連接。

          雖然可以在 HTTP 客戶端和 Apache HTTP Server 之間使用雙向 SSL,但請注意,在 Apache HTTP Server 和 WebLogic Server 之間使用的是單向 SSL。

          配置 Apache HTTP Server 插件和 WebLogic Server 之間的 SSL

          要在 Apache HTTP Server 插件和 WebLogic Server 之間使用 SSL 協(xié)議,請執(zhí)行下列操作:

          1. 針對 SSL 配置 WebLogic Server。有關(guān)詳細信息,請參閱配置 SSL
          2. 配置 WebLogic Server SSL 監(jiān)聽端口。有關(guān)詳細信息,請參閱配置 SSL
          3. 在 Apache Server 中,將 httpd.conf 文件中的 WebLogicPort 參數(shù)設(shè)置為步驟 2 中配置的 WebLogic Server SSL 監(jiān)聽端口。
          4. 在 Apache Server 中,將 httpd.conf 文件中的 SecureProxy 參數(shù)設(shè)置為 ON
          5. httpd.conf 文件中設(shè)置可定義有關(guān) SSL 連接的信息的任何其他參數(shù)。有關(guān)可以為插件配置的 SSL 參數(shù)的完整列表,請參閱 Web 服務(wù)器插件的 SSL 參數(shù)

          SSL-Apache 配置的相關(guān)問題

          配置 Apache 插件以使用 SSL 時會出現(xiàn)以下已知問題:

          • 要準備插件配置,請雙擊鎖以進入證書路徑:

            * 選擇根 CA(在頂部)

            * 顯示它

            * 查看詳細信息,然后使用編碼的“基本

            64 X509”選項將此證書復(fù)制到文件中

            * 例如,將文件保存到 MyWeblogicCAToTrust.cer(此文件也是

            PEM 文件)

          • 參數(shù) PathTrim(請參見 Web 服務(wù)器插件的常規(guī)參數(shù))必須在 <Location> 標記內(nèi)配置。

            以下配置不正確

            <Location /weblogic>
            SetHandler weblogic-handler
            </Location>
            <IfModule mod_weblogic.c>
            WebLogicHost localhost
            WebLogicPort 7001
            PathTrim /weblogic
            </IfModule>

            以下配置是正確設(shè)置:

            <Location /weblogic>
            SetHandler weblogic-handler
            PathTrim /weblogic
            </Location>
          • Include 指令不能與 Apache SSL 一起使用。必須在 httpd.conf 文件中直接配置所有參數(shù)。使用 SSL 時請不要使用以下配置:
            <IfModule mod_weblogic.c>
            MatchExpression *.jsp
            Include weblogic.conf
            </IfModule>
          • WebLogic Server Apache 插件的當前實現(xiàn)不支持對 Apache SSL 使用多個證書文件。

           


          連接錯誤和群集故障轉(zhuǎn)移

          當 Apache HTTP Server 插件嘗試連接到 WebLogic Server 時,插件使用幾個配置參數(shù)確定等待連接到 WebLogic Server 主機的時間長度,以及建立連接后插件等待響應(yīng)的時間長度。如果插件無法連接或未收到響應(yīng),則插件將嘗試連接到群集中的其他 WebLogic Server 實例并向其發(fā)送請求。如果連接失敗或者沒有來自群集中任何 WebLogic Server 的響應(yīng),則會發(fā)送錯誤消息。

          圖 3-1 說明插件如何處理故障轉(zhuǎn)移。

          連接失敗的可能原因

          WebLogic Server 主機無法響應(yīng)連接請求可能表明下列問題:

          • 主機計算機的物理問題
          • 網(wǎng)絡(luò)問題
          • 其他服務(wù)器故障

          所有 WebLogic Server 實例都無法響應(yīng)可能表明下列問題:

          • WebLogic Server 未運行或不可用
          • 服務(wù)器掛起
          • 數(shù)據(jù)庫問題
          • 應(yīng)用程序特定故障

          調(diào)整以減少 Connection_Refused 錯誤

          在有負載時,Apache 插件可能收到來自后端 WebLogic Server 實例的 CONNECTION_REFUSED 錯誤。可根據(jù)以下調(diào)整提示減少 CONNECTION_REFUSED 錯誤:

          • 提高WebLogic Server 域配置中的 AcceptBackLog 設(shè)置。
          • 在 Apache 2.0.x 上,將 httpd.conf 文件中的 KeepAlive 指令設(shè)置為 On。例如:
            # KeepAlive: Whether or not to allow persistent connections (more than
            # one request per connection). Set to "Off" to deactivate.
            #
            KeepAlive On

            請參閱位于 http://httpd.apache.org/docs-project/ 的 Apache HTTP Server 2.0 文檔。

          • 減少等待時間間隔。此設(shè)置因使用的操作系統(tǒng)而異。例如:
            • 在 Windows NT 上,將代理和 WebLogic Server 服務(wù)器上的 TcpTimedWaitDelay 設(shè)置為較低的值。通過編輯 HKEY_LOCAL_MACHINE 下的注冊表項來設(shè)置 Windows NT 中的 TIME_WAIT 時間間隔。
              SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay 

              如果此項不存在,則可以將其作為 DWORD 值創(chuàng)建。數(shù)字值是要等待的秒數(shù),可將其設(shè)置為介于 30 和 240 之間的任意值。如果未設(shè)置,默認情況下 Windows NT 會將 TIME_WAIT 設(shè)置為 240 秒。

            • 在 Windows 2000 上,通過編輯 HKEY_LOCAL_MACHINE 下的注冊表項降低 TcpTimedWaitDelay的值:
              SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 
            • 在 Solaris 上,將設(shè)置 tcp_time_wait_interval 降低為一秒(如果可能,對 WebLogic Server 計算機和 Apache 計算機都進行此設(shè)置):
              $ndd /dev/tcp
                 param name to set - tcp_time_wait_interval
                 value=1000
          • 在您的計算機上提高打開文件描述符的限制。此限制因操作系統(tǒng)而異。使用 limit (.csh) 或 ulimit (.sh) 指令,可以制作一個腳本來提高此限制。例如:
            #!/bin/sh
            ulimit -S -n 100
            exec httpd 
          • 在 Solaris 上,提高 WebLogic Server 計算機上下列可調(diào)參數(shù)的值:
            • tcp_conn_req_max_q
            • tcp_conn_req_max_q0

          單個非群集 WebLogic Server 的故障轉(zhuǎn)移

          如果僅運行一個 WebLogic Server 實例,則插件僅嘗試連接到使用 WebLogicHost 參數(shù)定義的服務(wù)器。如果嘗試失敗,則會返回 HTTP 503 錯誤消息。插件繼續(xù)嘗試連接到該同一 WebLogic Server 實例,直到超出 ConnectTimeoutSecs。

          動態(tài)服務(wù)器列表

          使用 httpd.confweblogic.conf 文件中的 WebLogicCluster 參數(shù)指定 WebLogic Server 列表時,插件將該列表用作在群集成員之間進行負載平衡的起點。將第一個請求路由到這些服務(wù)器之一后,會返回一個動態(tài)服務(wù)器列表,其中包含群集中已更新的服務(wù)器列表。更新的列表添加群集中的任何新服務(wù)器并刪除不再屬于群集或無法響應(yīng)請求的任何服務(wù)器。當群集中發(fā)生更改時,會使用 HTTP 響應(yīng)自動更新此列表。

          故障轉(zhuǎn)移、Cookie 和 HTTP 會話

          當請求包含存儲在 Cookie 或 POST 數(shù)據(jù)中的會話信息或包含編碼到 URL 中的會話信息時,會話 ID 會包含對最初建立會話的特定服務(wù)器實例(稱為主服務(wù)器)的引用,并包含對復(fù)制原始會話的其他服務(wù)器(稱為次級服務(wù)器)的引用。包含 Cookie 的請求會嘗試連接到主服務(wù)器。如果該嘗試失敗,則會將該請求路由到次級服務(wù)器。如果主服務(wù)器和次級服務(wù)器均故障,則會話將丟失,插件將嘗試與動態(tài)群集列表中的其他服務(wù)器建立新的連接。請參閱圖 3-1 連接故障轉(zhuǎn)移

          注意: 如果 POST 數(shù)據(jù)大于 64K,插件將不會對 POST 數(shù)據(jù)進行解析以獲取會話 ID。因此,如果您將會話 ID 存儲在 POST 數(shù)據(jù)中,插件無法將請求路由到正確的主服務(wù)器或次級服務(wù)器,從而可能導(dǎo)致會話數(shù)據(jù)的丟失。
          圖 3-1 連接故障轉(zhuǎn)移

          連接故障轉(zhuǎn)移

          在上圖中,紅圈中允許的最大重試次數(shù)等于 ConnectTimeoutSecs 除以 ConnectRetrySecs


          安裝和配置 Apache HTTP Server 插件

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          我實話告訴你們,我可是身經(jīng)百戰(zhàn)了.bbs我見的多了,哪個版我沒灌過?你們要知道, 一塌糊 涂的triangle,PIC,SEX版,那比你們不知道厲害到哪里去了,我在那談笑風聲.你 們有一好就是無論在哪個版,什么話題都灌,但是灌來灌去的問題,都too simple, sometimes naive!你 們懂不懂呀?啊?所以說灌水啊,關(guān)鍵是要提高自己的知識水平.你 們啊,不要總想著弄個大坑,然后灌上十大,再把我羞辱一番……你們啊,naive!你們這 樣灌是不行地!~那你問我支持 不支持灌水,我說支持,我常來這裡灌,你說支持不支持?
          主站蜘蛛池模板: 安化县| 济宁市| 龙川县| 舞阳县| 苍山县| 东港市| 印江| 苗栗县| 罗平县| 科尔| 乌拉特中旗| 大庆市| 宜丰县| 乐都县| 龙川县| 花垣县| 沾化县| 驻马店市| 准格尔旗| 杭锦旗| 宁晋县| 秦皇岛市| 肃宁县| 沙坪坝区| 田林县| 顺昌县| 威信县| 伊春市| 开平市| 屏东县| 赣州市| 民勤县| 菏泽市| 昆明市| 台东市| 平顺县| 安庆市| 济宁市| 罗定市| 恩施市| 灵武市|