blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks

           

          此元素啟動 WebSphere HTTP 插件配置文件。它可以包含一個或多個下列元素和屬性:

          IgnoreDNSFailures
          指定啟動時插件是否忽略配置中的 DNS 故障。當設置為 true 時,如果每個 ServerCluster 中至少有一個服務器能夠解析主機名,則插件忽略配置中的 DNS 故障并成功啟動。任何主機名無法解析的服務器在配置期間標記為不可用。稍后在路由請求期間不會嘗試解析該主機名。如果發生 DNS 故障,則日志消息將被寫入插件日志文件,并繼續插件初始化而不會導致無法啟動 Web 服務器。缺省值為 false,意味著 DNS 故障會導致 Web 服務器不啟動。
          RefreshInterval
          插件應該檢查配置文件以查看是否發生更新或更改的時間間隔(以秒計)。插件檢查文件自上次裝入插件配置以來,是否有任何修改。

          在經常發生更改的開發環境中,低于缺省設置 60 的設置更合適些。在生產環境中,因為不會經常更新配置,所以比缺省值高的值更合適些。如果由于某些原因重新裝入插件失敗,則一條消息被寫入插件日志文件,并使用先前的配置,直到成功重新裝入插件配置文件。如果您還未看到對插件配置的更改,則檢查插件日志文件以獲取對問題的說明。

          ASDisableNagle
          指定用戶是否要對插件和應用程序服務器之間的連接禁用 nagle 算法。缺省情況下,nagle 算法處于啟用狀態。

          值可以為 true  false

          IISDisableNagle
          指定用戶是否要在 Microsoft Internet Informations Services(IIS)上禁用 nagle 算法。缺省情況下,nagle 算法處于啟用狀態。

          值可以為 true  false

          AppServerPortPreference
          此屬性用于指定 Application Server 應該使用哪個端口號構建 sendRedirect 的 URI。可以指定以下值:
          • webserverPort(如果要使用入局 HTTP 請求的主機頭的端口號)。
          • hostHeader(如果要使用 Web 服務器接收請求的端口號)。

          缺省值為 hostHeader

          ResponseChunkSize
          插件讀取響應主體(以 64k 塊計),直到讀取所有的響應數據。此方法會導致包含大量數據的響應主體請求的性能問題。

          ResponseChunkSize 屬性使您可以指定讀取響應主體時要使用的最大塊大小。例如,Config ResponseChunkSize="N">,其中 N 等于塊大小(以千字節計)。

          如果響應主體的內容長度是未知的,則會分配 N 千字節的緩沖區大小,并且以 N 千字節大小的塊讀取主體,直到讀完整個主體。如果內容長度已知,則使用內容長度或 N(哪一個較小就用哪一個)的緩沖區大小以讀取響應主體。

          缺省塊大小為 64k。

          AcceptAllContent
          指定當請求頭中包含 Content-Length 或 Transfer-encoding 頭時,用戶是否可以在 POST、PUT、GET 和 HEAD 請求中包含內容。您可以為此屬性指定下列某個值:
          • 如果內容是期望的并要為所有請求讀取該內容,則請指定 True
          • 如果內容是期望的并要僅為 POST 和 PUT 請求讀取該內容,則請指定 False。

          False 為缺省值。

          ChunkedResponse
          指定當對客戶機的響應中包含 Transfer-Encoding : Chunked 響應頭時,插件是否應該將該響應進行分塊。

          此屬性僅適用于 IIS、IPlanet 和 Domino Web 服務器。IBM HTTP Server 自動處理是否將對客戶機的響應進行分塊。

          您可以為此屬性指定下列某個值:

          • 如果當對客戶機的響應中包含 Transfer-Encoding : Chunked 響應頭時插件要將該響應進行分塊,則指定 true
          • 如果不要將該響應分塊,則指定 false

          false 是缺省值。

          IISPluginPriority
          指定 IIS Web 服務器裝入 WebSphere Web 服務器插件的優先級。您可以為此屬性指定下列某個值:
          • High
          • Medium
          • Low

          缺省值為 High

          注意:
          • IIS Web 服務器在啟動期間使用此值。因此,必須重新啟動 Web 服務器,此更改才會生效。
          • 缺省值 High 確保所有請求在由任何其他過濾器/擴展處理前已由 WebSphere Web 服務器插件處理。如果使用優先級 Medium 或 Low 時發生問題,則必須重新排列干預過濾器/擴展的順序或更改它們的優先級。
          Log
          日志描述由插件寫的日志消息的位置和級別。如果配置文件中未指定日志,則在一些情況下,日志消息將被寫到 Web 服務器錯誤日志中。

          例如,您可以指定以下各項:

          <Log LogLevel="Error" Name="/log_directory/filename"/>
          Name(每個 Log 必須有且只能有一個該屬性)
          日志文件的標準路徑,插件會將錯誤消息寫入該日志文件。
          注: 日期與時間戳記以及進程標識都不再追加到您為插件日志文件指定的名稱。因此,將創建單個 Web 服務器插件日志文件,而不是創建多個按日期來區別的日志文件。此行為與 V5.x 的行為有所不同。
          LogLevel(每個 Log 可以有零個或一個該屬性)
          插件應該寫入日志的日志消息的詳細信息級別。您可以為此屬性指定下列某個值:
          • Trace。此請求過程中的全部步驟都詳細記錄。
          • Stats。記錄了為每個請求選擇的服務器和其他與請求處理相關的負載均衡信息。
          • Warn。所有來自異常請求處理的警告和錯誤消息被記錄。
          • Error。僅記錄來自異常請求處理導致的錯誤消息。
          • Debug。記錄處理請求時執行的所有關鍵步驟。
          • Detail。記錄關于請求和響應的所有信息。

          如果沒有為 Log 元素指定 LogLevel,則將使用缺省值 Error。

          將級別設置為 Trace 時,請小心。許多消息在此級別記錄,該級別會導致文件系統非常快速地用盡。決不應該在正常運作環境中使用 Trace 設置,因為它會對性能有負面影響。

          Property Name="esiEnable" Value="true/false"
          用來啟用或禁用 Edge Side Include(ESI)處理器。如果 ESI 處理器和于禁用狀態,則將忽略此文件中的其他 ESI 元素。

          Value 可以設置為 true  false。缺省情況下,ESI 處理器處于啟用狀態(已設置為 true)。

          Property Name="esiMaxCacheSize" Value="interger"
          一個整數,它指定高速緩存的最大大小(以 1K 字節計)。高速緩存的缺省最大大小是 1024K 字節(1 兆字節)。如果高速緩存已滿,則要從高速緩存逐出的第一個條目是最接近其截止時間的條目。
          Property Name="ESIInvalidationMonitor" Value="true/false"
          用來指示 ESI 處理器是否應接收來自 Application Server 的失效。

          Value 可以設置為 true  false。缺省情況下,此屬性設置為 false

          對于 WebSphere for z/OS HTTP Server 插件,必須始終將此屬性設置為 false

          Property Name="FIPSEnable" Value="true/false"
          用來指示是否應啟用聯合信息處理標準(FIPS)來建立與 Application Server 的安全連接。如果 Application Server 上啟用了 FIPS,則應將此屬性設置為 true。

          Value 可以設置為 true  false。缺省情況下,此屬性設置為 false

          ServerCluster(每個 Config 可以有一個或多個該元素)
          一組服務器,這些服務器通常配置為對同一類型的請求提供服務。

          最簡單的情況是集群僅包含一個服務器定義。在定義了多個服務器的情況下,插件將使用循環法或 Random 算法將負載均衡地分布到所定義的服務器上。缺省值為“循環法”(Round Robin)。

          以下是 ServerCluster 元素的示例

          <ServerCluster CloneSeparatorChange="false"
          LoadBalance="Round Robin" Name="Cluster1"
          PostSizeLimit="10000000" RemoveSpecialHeaders="true"
          RetryInterval="60">
          <Server
          CloneID="BA36BEC1EB243D8B000000E4000000030926301B"
          ConnectTimeout="0" ExtendedHandshake="false"
          LoadBalanceWeight="2" MaxConnections="0"
          Name="SY1_ClusterMember1" WaitForContinue="false">
          <Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9084" Protocol="http"/>
          <Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
          <Property Name="Keyring" value="/WebSphere/V6R0M0/DeploymentManager/etc/
          plugin-key.kdb"/>
          <Property Name="Stashfile" value=""/WebSphere/V6R0M0/DeploymentManager/etc/
          plugin-key.sth"/>
          <Property Name="certLabel" Value="selfsigned"/>
          </Transport>
          </Server>
          <Server CloneID="BA36BED017FDF40E000000E4000000030926301B"
          ConnectTimeout="0" ExtendedHandshake="false"
          LoadBalanceWeight="2" MaxConnections="0"
          Name="SY1_ClusterMember2" WaitForContinue="false">
          <Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="9085" Protocol="http"/>
          <Transport Hostname="BOSSXXXX.PLEX1.L2.IBM.COM" Port="0" Protocol="https">
          <Property Name="Keyring" value="/WebSphere/V6R0M0/DeploymentManager/etc/
          plugin-key.kdb"/
          <Property Name="Stashfile" value="/WebSphere/V6R0M0/DeploymentManager/etc/
          plugin-key.sth"/>
          <Property Name="certLabel" Value="selfsigned"/>
          </Transport>
          </Server>
          <PrimaryServers>
          <Server Name="Server Name="SY1_ClusterMember1"/>
          <Server Name="Server Name="SY1_ClusterMember2"/>
          </PrimaryServers>
          </ServerCluster>
          注: 如果您正在使用 HTTP Server plug-in for z/OS,則將忽略此處包括的 Property Name=keyring  Property Name=stashfile 元素(如果這些元素包括在該插件的 plugin-cfg.xml 文件中)。HTTP Plug-in for z/OS 插件使用在主管 HTTP Server 的 httpd.conf 文件中指定的 SSL 設置,而不會在 plugin-cfg.xml 文件中查找這些元素。
          Name(每個 ServerCluster 必須有且只能有一個該屬性)
          將用于此組服務器的邏輯名或管理名。
          LoadBalance(每個 ServerCluster 可以有零個或一個該屬性)
          缺省負載均衡類型是循環法。

          循環法實現具有隨機起始點。將隨機檢取第一個服務器。循環法將用于從該點開始檢取服務器。此實現確保基于多個進程的 Web 服務器中,發送第一個請求到同一個 Application Server 并不會啟動所有進程。

          RetryInterval(每個 ServerCluster 可以有零個或一個該屬性)
          一個指定時間長度的整數,這段時間應該是從將服務器標記為當機的時間到插件重試連接的時間。缺省值為 60 秒。
          RemoveSpecialHeaders(每個 ServerCluster 可以有零個或一個該屬性)
          在將請求轉發到應用程序服務器之前,插件將一些特殊的頭添加到請求。這些頭存儲關于應用程序將需要使用的請求的信息。缺省情況下,插件在添加它假定要添加的頭前,將從入局請求中除去這些頭。

          值可以為 true  false。如果將該屬性設置為 false,則不會除去入局請求中的頭,這是一個潛在的安全性漏洞。

          CloneSeparatorChange(每個 ServerCluster 可以有零個或一個該屬性)
          某些普及型設備無法處理冒號字符(:),該字符用于分隔與會話親緣關系聯合的克隆標識。服務器組的此屬性通知插件將使用加號(+)作為克隆分隔符。您必須更改應用程序服務器配置,以便應用程序服務器也使用加號來分隔克隆標識。

          值可以為 true  false

          PostSizeLimit(每個 ServerCluster 可以有零個或一個該屬性)
          插件嘗試將請求發送到應用程序服務器時所允許的請求內容最大字節數。如果接收到大于此大小的請求,則插件不會發送該請求。缺省值為 -1 個字節,表明發布大小沒有限制。
          [Version 6.0.1 and later] PostBufferSize(每個 ServerCluster 可以有零個或一個該屬性)
          指定讀取 HTTP 請求內容時使用的最大緩沖區大小(以千字節計)。如果最初接收到請求的應用程序服務器無法處理該請求,則將此緩沖區中包含的數據發送給另一應用程序服務器以嘗試讓該應用程序服務器處理此請求。

          此選項改進了插件的可用性。現在,如果所選應用程序服務器未響應,則將重試包含內容但未完成的請求。如果值設置為零,則不會緩沖和重試包含內容的請求。缺省值為 64。

          Server(每個 ServerCluster 可以有一個或多個該元素)
          一個 WebSphere Application Server 實例,已配置它來處理使用插件配置的路由規則路由至它的請求。該服務器應該對應于在本地機器或遠程機器上運行的應用程序服務器。
          Name(每個 Server 必須有且只能有一個該屬性)
          服務器的管理名或邏輯名。
          CloneID(每個 Server 可以有零個或一個該屬性) (參考web容器定制屬性HttpSessionCloneId)
          如果請求的 HTTP cookie 頭(或 URL,如果使用 URL 重寫的話)中包含此唯一標識,則只要符合所有其他路由規則,插件就會將該請求路由至此特定服務器(。如果在 Server 中未指定 CloneID,則不會對此服務器啟用會話親緣關系。

          此屬性將與會話親緣關系一起使用。當設置了此屬性時,插件檢查入局 cookie 頭或 URL 中是否有 JSESSIONID。如果找到了 JSESSIONID,則插件查找一個或多個克隆標識。如果找到了克隆標識,且與對此屬性指定的值匹配,則會將請求發送到此服務器而不是均衡地加載在集群中。

          如果您不打算使用會話親緣關系,則最好從配置中除去這些克隆標識,因為設置這些標識會增加插件處理請求時的負載。如果插件中沒有克隆標識,則假定會話親緣關系未打開,并且請求將均衡地加載在集群中。

          WaitForContinue(每個 Server 可以有零個或一個該屬性)
          指定在將請求內容發送到應用程序服務器之前,是否要使用 HTTP 1.1 100 Continue 支持。可能的屬性值為 true  false。缺省值為 false;插件在發送請求內容之前,不會等待來自應用程序服務器的 100 Continue 響應,因為這會降低性能。

          對于 POST 請求,將忽略此屬性,以便在應用程序服務器由于保持活動超時而關閉連接時,不會發生故障。

          當配置插件以使用某些類型的代理防火墻時,請啟用此功能(設置為 true)。

          LoadBalanceWeight(每個 Server 可以有零個或一個該屬性)
          指定當插件執行加權循環法負載均衡時,與此服務器相關聯的權重。服務器的開始值可以為 0  20 之間的任何整數。然而,對于已關閉的服務器,只應該指定零。

          此屬性的算法會遞減服務器集群內的所有權重,直到所有權重達到零。在對特定服務器指定的權重達到零之后,在集群中的所有服務器權重為零之前,不會再將請求路由至該服務器。在所有服務器達到零之后,將復位集群中所有服務器的權重,并且該算法重新開始。

          當某個服務器已關閉時,建議您將該服務器的權重設置為零。然后插件可以復位仍在運行的服務器的權重,并維持適當的負載均衡。

          ConnectTimeout(每個 Server 可以有零個或一個該屬性)
          Server 元素的 ConnectTimeou 屬性使插件可以執行與應用程序服務器的非分塊連接。當插件無法聯系目標以確定端口是可用還是不可用時,非分塊連接是有益的。

          如果未指定 ConnectTimeout 值,則插件執行分塊連接,插件在操作系統超時(根據平臺,它可以長達 2 分鐘)前位于該連接中,并且該連接允許插件將服務器標記為不可用。值 0 導致插件執行分塊連接。大于 0 的值指定您要插件等待成功連接的秒數。如果在該時間間隔后不發生連接,則插件將服務器標記為不可用并故障轉移到集群中定義的另一臺服務器。

          ExtendedHandshake(每個 Server 可以有零個或一個該屬性)
          當代理防火墻在插件和應用程序服務器之間時,則使用 ExtendedHandshake 屬性。在這種情況下,插件不會像期望的那樣執行故障轉移。

          當 connect() 失敗時插件標記服務器為當機。但是,當代理防火墻在插件和應用程序服務器之間時,即使后端應用程序服務器當機了,connect() 也會成功。這導致插件沒有正確地故障轉移到其他應用程序服務器。

          插件與應用程序服務器執行某些握手以確保它在發送請求前已啟動。這使插件能夠在應用程序服務器當機時執行故障轉移。

          值可以為 true  false

          MaxConnections(每個 Server 有一個該元素)
          MaxConnections 屬性用于指定可以及時流經任何點上的 Web 服務器進程的、與 Application Server 的最大暫掛連接數。
          例如,假設:
          • 此應用程序服務器前端有 5 個運行 IBM HTTP Server 的節點。
          • 每個節點啟動 2 個進程。
          • MaxConnections 屬性設置為 50。

          在此示例中,應用程序服務器可以潛在地獲取最多 500 個連接。(用節點數 5 乘以進程數 2,然后將得數乘以為 MaxConnections 屬性指定的數字 50,得到總數 500 個連接。)

          在 z/OS 平臺上此屬性不是必要的。z/OS 控制器與 WLM 共同動態地處理新連接。

          缺省情況下,MaxConnections 設置為 -1。如果此屬性設置為零或 -1,則到應用程序服務器的暫掛連接數沒有限制。

          Transport(每個 Server 可以有一個或多個該元素)
          用于對特定 WebSphere Application Server 實例的讀取和寫入請求的傳輸。傳輸提供一些信息,需要這些信息來確定請求將發送至的應用程序服務器的位置。如果 Server 已將多個傳輸定義為使用相同協議,則將使用第一個傳輸。

          可以將 Server 配置為具有一個非安全傳輸和一個使用 SSL 的傳輸。在此配置中,將執行匹配的入局請求協議來確定用來將請求發送到應用程序服務器的適當傳輸。

          Hostname(每個 Transport 必須有且只能有一個該屬性)
          正在運行 WebSphere Application Server 實例的機器的主機名或 IP 地址。
          Port(每個 Transport 必須有且只能有一個該屬性)
          WebSphere Application Server 實例進行偵聽所使用的端口。
          Protocol(每個 Transport 必須有且只能有一個該屬性)
          當通過此傳輸進行通信時要使用的協議 - HTTP 或 HTTPS。
          Property(每個 Transport 可以有零個、一個或多個該元素)
          當 Transport 的 Protocol 設置為 HTTPS 時,請使用此元素來提供各種初始化參數,如 password、keyring 和 stashfile。例如,包含這些元素的 plugin_cfg.xml 文件的一部分可能類似于以下內容:
          <Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
          <Property Name="keyring" value="c:/WebSphere/AppServer/keys/keyring.kdb"/>
          <Property Name="stashfile" value="c:/WebSphere/AppServer/keys/keyring.sth"/>
          <Property Name="password" value="WebAS"/>
          注: 使用 iKeyMan 查看 plugin-key.kdb 文件的缺省密碼是 WebAS。
          Name(每個 Property 必須有且只能有一個該屬性)
          正在定義的 Property 的名稱。傳輸可識別的受支持名稱為 keyring、stashfile 和 password。
          注: password 是可以對 WebSphere HTTP for z/OS 插件指定的唯一名稱。將忽略 keyring 和 stashfile(如果指定了它們)。
          Value(每個 Property 必須有且只能有一個該屬性)
          正在定義的 Property 的值。
          ServerIOTimeout
          Server 元素的 ServerIOTimeout 屬性使插件能夠設置將請求發送至應用程序服務器以及從應用程序服務器讀取響應時的超時值(以秒計)。如果未對 ServerIOTimeout 屬性設置值,則插件在缺省情況下使用分塊 I/O 來將請求寫至應用程序服務器以及從應用程序服務器讀取響應,直到 TCP 連接超時為止。例如,如果您指定:
          <Server Name="server1" ServerIOTimeout=300>

          在這種情況下,如果應用程序服務器停止對請求進行響應,則插件會等待 300 秒(5 分鐘),然后使 TCP 連接超時。如果將 ServerIOTimeout 屬性設置為合理的值,則插件能夠較快地使連接超時,并在可能時將請求傳送到另一個應用程序服務器。

          在選擇此屬性的值時,請記住,應用程序服務器處理請求有時可能需要幾分鐘的時間。如果將 ServerIOTimeout 屬性的值設置得太小,可能會導致插件將不正確的服務器錯誤響應發送到客戶機。

          ClusterAddress(每個 ServerCluster 可以有零個或一個該元素)
          ClusterAddress 類似于 Server 元素,您可以在其中像對 Server 元素一樣指定相同的屬性和元素。差別在于,在一個 ServerCluster 中,您只能定義一個 ClusterAddress。當您因為在插件和應用程序服務器之間已具有某種類型的負載均衡器而不希望插件執行任何類型的負載均衡時,請使用 ClusterAddress。
          重要: 如果您包括 ClusterAddress 標記,則您必須在該標記上包括 Name 屬性。插件使用 Name 屬性來使集群地址與正確的主機和端口相關聯。如果您未指定 Name 屬性,則插件給集群地址分配對使用相同主機和端口的服務器指定的名稱。
          <ClusterAddress Name="MyClusterAddr">
          <Transport Hostname="192.168.1.2" Port="9080" Protocol="HTTP"/>
          <Transport Hostname="192.168.1.2" Port="9443" Protocol="HTTPS">
          </ClusterAddress>

          如果接收到未建立親緣關系的請求,則插件將它路由至集群地址(如果已定義)。如果已建立親緣關系,則插件會完全繞過集群地址而將請求直接路由到克隆。如果沒有為服務器集群定義集群地址,則插件會將負載均衡地分布到主服務器列表中的服務器上。

          PrimaryServers(每個服務器集群可以有零個或一個該元素)
          指定插件要將對此集群的請求路由至的服務器列表。如果未指定主服務器列表,則插件會將請求路由至為服務器集群定義的服務器。
          BackupServers(每個服務器集群可以有零個或一個該元素)
          指定在主服務器列表中指定的所有服務器都不可用時,應該將請求發送至的服務器列表。插件不會將負載均衡地分布在備份服務器上,但它會按順序遍歷該列表,直到列表中沒有服務器,或直到成功發送請求并且從應用程序服務器接收到響應為止。
          VirtualHostGroup
          將在 HTTP Host 頭中指定的一組虛擬主機名。使您能夠將配置為處理相似類型請求的虛擬主機定義組合到一起。

          以下是 VirtualHost Group 元素和相關聯的元素及屬性的示例

          <VirtualHostGroup Name="Hosts">
          <VirtualHost Name="www.x.com"/>
          <VirtualHost Name="www.x.com:443"/>
          <VirtualHost Name="*:8080"/>
          <VirtualHost Name="www.x.com:*"/>
          <VirtualHost Name="*:*"/>
          </VirtualHostGroup>
          Name(每個 VirtualHostGroup 必須有且只能有一個該屬性)
          將用于此組虛擬主機的邏輯名或管理名。
          VirtualHost(每個 VirtualHostGroup 可以有一個或多個該元素)
          用于虛擬機器或實際機器的名稱,用來確定入局請求是否應該由 WebSphere Application Server 進行處理。請使用此元素來指定 HTTP Host 頭中將包含的主機名,需要由應用程序服務器處理的請求應該可以到達這些主機。您可以指定入局請求將具有的特定主機名和端口,也可以對主機名和/或端口指定星號(*)。
          Name(每個 VirtualHost 必須有且只能有一個該屬性)
          應該在 HTTP Host 頭中指定以便與此 VirtualHost 成功匹配的實際名稱。

          值是主機名或 IP 地址與端口的組合,用冒號隔開。

          您可以將插件配置為根據請求的入局 HTTP Host 頭和端口將請求路由至應用程序服務器。Name 屬性指定這些組合的內容。

          您可以使用通配符表示此屬性。唯一可接受的解決方案是將一個星號(*)表示主機名,一個星號表示端口,或使用一個星號表示這兩者。用一個星號表示這兩者意味著任何請求都將與此規則匹配。如果定義中未指定端口,則使用缺省 HTTP端口 80。

          UriGroup
          將在 HTTP 請求行上指定的一組 URI。同一個應用程序服務器必須能夠處理這些 URI。路由會將入局 URI 與組中的 URI 作比較,以確定應用程序服務器是否將處理請求。

          以下是 UriGroup 元素和相關聯的元素及屬性的示例:

          <UriGroup Name="Uris">
          <Uri Name="/servlet/snoop"/>
          <Uri Name="/webapp/*"/>
          <Uri Name="*.jsp"/>
          </UriGroup>
          Name(每個 UriGroup 必須有且只能有一個該屬性)
          用于此組 URI 的邏輯名或管理名。
          Uri(每個 UriGroup 可以有一個或多個該元素)
          將由 WebSphere Application Server 服務的資源的虛擬路徑。每個 URI 指定需要由應用程序服務器處理的入局 URI。您可以在這些定義中使用通配符。
          Name(每個 Uri 必須有且只能有一個該屬性)
          應該在 HTTP 請求行中指定以便與此 URI 成功匹配的實際字符串。您可以在 URI 定義中使用通配符。您可以指定將由 WebSphere Application Server 處理的規則,如 *.jsp 或 /servlet/*。當您匯編應用程序時,如果您指定啟用文件服務,則僅會為 Web 應用程序生成一個帶有通配符的 URI,而不考慮任何顯式 servlet 映射。如果您指定按類名服務 servlet,則將生成具有 <Uri Name="Web_application_URI/servlet/*"> 的 URI。
          AffinityCookie(每個 Uri 可以有零個或一個該屬性) (參考server的會話管理的cookie名稱)
          插件在嘗試確定入站請求是否具有會話親緣關系時應該使用的 cookie 的名稱。缺省值為 JSESSIONID

          請參閱 CloneID 屬性的描述以獲取其他會話親緣關系信息。

          AffinityURLIdentifier(每個 Uri 可以有零個或一個該屬性) (參考web容器定制屬性SessionRewriteIdentifier)
          插件在嘗試確定入站請求是否具有在特定克隆的 URL 中指定的親緣關系時應該使用的標識的名稱。缺省值為 jsessionid

          請參閱 CloneID 屬性的描述以獲取其他會話親緣關系信息。

          Route
          一個請求路由規則,插件通過該規則確定入局請求是否應由 WebSphere Application Server 處理。

          路由定義是插件配置的中心元素。它指定插件將如何根據請求的某些特征來處理請求。路由定義包含其他主要元素:必需的 ServerCluster 以及 VirtualHostGroup 和/或 UriGroup。

          通過使用在路由的 VirtualHostGroup 和 UriGroup 中定義的信息,插件確定是否應該將 Web 服務器的入局請求發送到此路由中定義的 ServerCluster。

          以下是此元素的示例:

          <Route VirtualHostGroup="Hosts" UriGroup="Uris" ServerCluster="servers/>
          VirtualHostGroup(每個 Route 可以有零個或一個該屬性)
          在確定路由時應該使用的一組虛擬主機。將入局主機頭和服務器端口進行比較以確定此請求是否應由應用程序服務器處理。

          可以在路由定義中省略此屬性。如果未提供此屬性,則在確定路由的虛擬主機匹配部分期間,每個請求都將匹配。

          UriGroup(每個 Route 可以有零個或一個該屬性)
          用于確定路由的一組 URI。將請求的入局 URI 和此組中定義的 URI 進行比較以確定此請求是否應由應用程序服務器處理。

          可以在路由定義中省略此屬性。如果未提供此屬性,則在確定路由的 URI 匹配部分期間,每個請求都將匹配。

          ServerCluster(每個 Route 必須有且只能有一個該屬性)
          會將與路由成功匹配的請求發送至的集群。

          應該用來處理此請求的集群。如果 URI 和虛擬主機匹配對于此路由已成功,則請求將發送到此集群內定義的某個服務器。

          RequestMetrics
          此元素用來確定是否啟用請求度量值,以及當啟用了請求度量值時,如何根據因特網協議(IP)和統一資源標識(URI)過濾器來過濾請求。

          以下是此元素的示例:

          <RequestMetrics armEnabled="false"  loggingEnabled="true"
          rmEnabled="false" traceLevel="PERF_DEBUG">
          armEnabled(RequestMetrics 可以有零個或一個該屬性)
          此屬性指示插件中是否啟用 ARM 4 代理程序。當它設置為 true 時,將調用 ARM 4 代理程序。
          注: 對于 SunOne (iPlanet) Web 服務器,obj.conf 文件中必須包含以下偽指令才能啟用 ARM 4 支持:
          AddLog fn="as_term"
          
          如果未包含此偽指令,則永遠不會調用 arm_stop 過程。
          loggingEnabled(RequestMetrics 必須有且只能有一個該屬性)
          此屬性指示是否在插件中啟用請求度量值記錄。當它設置為 true 而 traceLevel 未設置為 NONE 時,將記錄請求響應時間(和其他請求信息)。當它設置為 false 時,則不會記錄請求。loggingEnabled 的值取決于為系統屬性 com.ibm.websphere.pmi.reqmetrics.loggingEnabled 指定的值。當未提供此系統屬性時,loggingEnable 設置為 true
          rmEnabled(RequestMetrics 必須有且只能有一個該屬性)
          此屬性指示是否在插件中啟用請求度量值。當它設置為 true 時,插件請求度量值將檢查過濾器并將請求跟蹤記錄記錄在插件日志文件中。如果請求通過了這些過濾器,則將執行此操作。當此屬性設置為 false 時,將忽略其余的請求度量值屬性。
          traceLevel(RequestMetrics 必須有且只能有一個該屬性)
          當 rmEnabled 為 true 時,此屬性指示將記錄多少信息。當此屬性設置為 NONE 時,不會執行任何請求日志記錄。當此屬性未設置為 NONE 而 loggingEnabled 設置為 true 時,在執行請求時將記錄請求響應時間(和其他請求信息)。
          filters(RequestMetrics 可以有零個、一個或兩個該屬性)
          當 rmEnabled 為 true 時,filters 控制將跟蹤哪些請求。
          enable(每個 filter 必須有且只能有一個該屬性)
          當 enable 為 true 時,則該類型的過濾器已打開,并且請求必須通過該過濾器。
          type(每個 filter 必須有且只能有一個該屬性)
          有兩種類型的過濾器:SOURCE_IP(例如,客戶機 IP 地址)和 URI。對于 SOURCE_IP 過濾器類型,將根據已知的 IP 地址來過濾請求。您可以使用星號(*)指定 IP 地址的掩碼。如果使用星號,則星號必須總是掩碼的最后一個字符,例如,127.0.0.*、127.0.* 和 127*。出于性能原因,模式逐個字符地匹配,直到在過濾器中找到星號、發生不匹配或發現過濾器為完全匹配為止。

          對于 URI 過濾器類型,將根據入局 HTTP 請求的 URI 來過濾請求。用于模式匹配的規則與用于匹配 SOURCE_IP 地址過濾器的規則相同。

          如果 URI 和客戶機 IP 地址過濾器都已啟用,則請求度量值需要匹配兩種過濾器類型。如果兩者都未啟用,則認為所有請求都匹配。

          filterValues(每個過濾器可以有一個或多個該屬性)
          filterValues 顯示詳細的過濾器信息。
          value(每個 filterValue 必須有且只能有一個該屬性)
          為相應的過濾器類型指定過濾器值。它可以是客戶機 IP 地址或 URI。

          附錄 會話管理的定制屬性:

          CloneSeparatorChange
          使用此屬性維護會話親合關系。服務器的克隆標識被附加到用冒號分隔的會話標識中。在一些無線應用協議(WAP)設備中,不允許有冒號。將此屬性設置成“true”,以將克隆分隔符更改為加號(+).
          HttpSessionCloneId
          使用此屬性更改群集成員的克隆標識。在群集中,此名稱必須是唯一的以維護會話親合關系。當設置時,此名稱將覆蓋由 WebSphere Application Server 生成的缺省名。缺省克隆的標識符長度:8 或 9。
          HttpSessionIdLength
          使用此屬性配置會話標識長度。不要使用非常低的值;使用低值將導致減少可能的組合數,因而增加了猜測會話標識的風險。在群集中,所有群集成員應當用相同的標識長度來進行配置。允許的范圍:8 到 128。缺省長度:23。
          HttpSessionReaperPollInterval
          使用此屬性設置除去無效會話的進程的喚醒時間間隔。缺省值是基于會話管理中的最大不活動時間間隔設置。允許的值:整數。
          NoAdditionalSessionInfo
          將該值設置成“true”以強制除去會話標識中不需要的信息。在 WebSphere Application Server base 版本中,不再使用克隆標識 -1;因此,設置該值時克隆標識不包含在 base 版本中。同樣,非持久會話中不再使用高速緩存標識;所以當設置該值時高速緩存標識不包含在非持久會話中。
          SessionIdentifierMaxLength
          使用該值設置會話標識可增加的最大長度。在群集中,由于請求轉到新群集成員時發生故障轉移,會話管理將把新的克隆標識附加到現有克隆標識中。在大群集中,如果出于某些原因服務器更頻繁地失敗,那么有可能是會話標識長度大于期望的長度,它減少了 URL 的空間。因此這個屬性有助于找出條件,并采用適當的操作來處理服務器的故障轉移。當指定此屬性時,消息將在達到指定的最大長度時進行記錄。允許的值:整數。
          SessionRewriteIdentifier
          使用此屬性更改重寫 URL 時使用的密鑰。缺省密鑰:jsessionid。
          posted on 2010-12-31 22:47 渠上月 閱讀(3044) 評論(0)  編輯  收藏 所屬分類: other tips
          主站蜘蛛池模板: 武邑县| 德阳市| 信丰县| 班戈县| 多伦县| 定州市| 徐州市| 白沙| 大城县| 东源县| 宜昌市| 黄平县| 天水市| 渭源县| 盐池县| 东方市| 施甸县| 文登市| 肇州县| 观塘区| 来凤县| 壶关县| 东安县| 大洼县| 陕西省| 兖州市| 安康市| 高青县| 横山县| 万荣县| 兰考县| 清涧县| 中西区| 荔波县| 治多县| 子洲县| 和田市| 辉南县| 枣庄市| 万宁市| 聊城市|