Tomcat HTTP/1.1 Connector 參數整理

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   使用   ar   strong   

 HTTP/1.1 Connector

 

概述

Coyote HTTP/1.1 Connector元素是一個支援HTTP/1.1協議的Connector組件。它使Catalina除了能夠執行servlet和JSP頁面外,還能夠作為一個單獨的web server運行。Connector對象的執行個體在伺服器上監聽特定的TCP連接埠。一個Service可以配置一個或多個這樣的Connector,每個Connector都把請求轉寄給對應Engine進行處理,併產生響應。

在 伺服器啟動的時候,Connector會建立一些請求處理線程(基於minProcessors屬性值)。每個請求需要一個線程為其服務,直到服務完成。 如果同一時刻的請求數多於可用的請求處理線程,會建立額外的處理線程,線程數的上限是maxProcessors。如果已經到達了最大請求數,仍然有請求 發生,它們被緩衝在由Connector建立的server socket中,直到緩衝的上限(由acceptCount屬性的值定義)。這以後所有的請求都會收到“拒絕串連”的錯誤,直到有資源能夠處理它們。

屬性
公用屬性

所有Connector的實現支援如下屬性:

屬性 描述
enableLookups

如果希望調用request.getRemoteHost()進行DNS查詢,以返回遠程客戶的實際主機名稱,將enableLookups設為true。如果希望忽略DNS查詢,僅僅返回IP地址,設為false(這樣提高了效能)。預設情況下,DNS查詢是使能的。

redirectPort 如果Connector支援非SSL請求,在收到一個要求使用SSL傳輸的請求以後,Catalina會自動將該請求重新導向到這裡指定的連接埠號碼。
scheme

調用request.getScheme()時返回的協議名稱。比如,在SSL Connector上可能將這個屬性設為“https”。預設值為“http”,更多資訊,參考SSL支援

secure

如果希望在該Connector接收到的請求上調用request.isSecure()返回true,設定該屬性為true。預設值為false。

標準實現

Coyote HTTP/1.1 Connector的標準實現是org.apache.coyote.tomcat5.CoyoteConnector。它還支援如下的附加屬性

屬性 描述
acceptCount

當所有可能的請求處理線程都被使用的時候,串連請求隊列的最大長度。如果該隊列為滿,所有的請求都被拒絕,預設值為10。

address 對於具有多個IP地址的server,這個屬性指定了用於監聽特定連接埠的地址。預設情況下,連接埠作用於server的所有IP地址。
bufferSize

connector建立的輸入資料流緩衝區的大小(以位元組為單位)。預設情況下,bufferSize=2048。

compression

為 了節省伺服器頻寬,Connector可能使用HTTP/1.1GZIP壓縮。這個參數的可接受值為“off”(不使用壓縮),“on”(壓縮文本資料),“force”(在所有的情況下強制壓縮),或者使用一個數值 整數(等價於“on”,但是指定了輸出被壓縮是的最小的資料數)。如果content-length未知, 而compression設定成“on”或者 更強,輸出也會被壓縮。如果沒有指定,這個屬性被設成“off”

connectionLinger

當Connector使用的socket被關閉的時候,保留該socket的時間,以毫秒為單位。預設值為-1(不使用socket linger)

connectionTimeout

在Connector接受一個串連以後,等待發生第一個請求的時間,以毫秒為單位。預設值為60000(60秒)

debug

日誌訊息的詳細程度,數字越大,輸出越詳細,如果沒有指定,使用預設值0。

disableUploadTimeout 這個標誌允許servlet container在一個servlet執行的時候,使用一個不同的,更長的連線逾時。最終的結果是給servlet更長的時間以便完成其執行,或者在資料上傳的時候更長的逾時時間。如果沒有指定,設為false。
maxKeepAliveRequests 在server關閉串連之前,接受的HTTP請求的最大數目。如果該值設為1,會禁止HTTP/1.0保活,同時也會禁止HTTP/1.1保活和pipelining。如果沒有指定,設為100。
maxSpareThreads

線上程池開始停止不必要的線程之前,允許存在的最大未使用的請求處理線程。預設值為50。

 

maxThreads

Connector能夠建立的最大請求處理線程數,這個值決定了同時能夠處理的最大請求數。如果沒有指定,預設值為200。

minSpareThreads

當Connector第一次啟動時,建立的請求處理線程數。connector同時必須保證指定數目的空閑處理線程。這個值應該設定成比maxThreads小的數值,預設值為4。

port

Connector建立server socket並等待串連的TCP連接埠號碼。作業系統在特定的IP地址上只允許一個伺服器應用程式監聽特定的連接埠。

protocol

為了使用HTTP處理器,該屬性值必須為HTTP/1.1(預設值)

proxyName

如果connector在代理配置中使用,將這個屬性設定成調用request.getServerName()時返回的伺服器名稱。更多資訊參考代理支援。

proxyPort

如果Connector在代理配置中使用,這個屬性指定了調用request.getServerPort()返回的連接埠值。更多資訊參考代理支援。

socketBuffer

socket輸出緩衝區的大小。如果為-1,不使用緩衝。預設值為9000位元組。

tcpNoDelay

如果為true,伺服器socket會設定TCP_NO_DELAY選項,在大多數情況下可以提高效能。預設情況下設為true。

嵌套組件

可以嵌套在Connector中的唯一元素是Factory,用來設定管理員套介面工廠組件。這個組件從來都不需要,現在支援這個組件是為了與Tomcat的早期版本相容。

專有特徵
HTTP/1.1 和HTTP/1.0 支援

Connector 支援HTTP/1.1協議的所有必需特徵(如RFC2616所描述的),包括永久性串連,流水線,expectations and chunked encoding。如果用戶端(通常是一個瀏覽器)只支援HTTP/1.0,Connector會自動跳回到HTTP/1.0。不需要特殊的配置來使能這 個支援。Connector也支援HTTP/1.0保活機制。

RFC2616要求HTTP伺服器的響應總是以它們宣稱支援的最高HTTP版本開始。因此,這個Connector在它的響應的開始總是返回HTTP/1.1。

 

日誌輸出

Connector產生的任何調試或者異常資訊都會被自動路由到與Connector所屬的Engine的Logger。不需要特殊的配置來使能這個支援。

 

代理支援
在Tomcat位於Proxy 伺服器後面時,可以使用proxyName和proxyPort屬性。這些屬性修改了調用 requset.getServerName()和request.getServerPort()的傳回值,用來構造重新導向的絕對URL。如果不設定這 些值,傳回值反映了Proxy 伺服器收到的已連線的服務器名稱和連接埠號碼,而不是用戶端發起的伺服器名稱和連接埠號碼。

更多資訊,參考代理支援HOW-TO

SSL支援

對Connector的特定執行個體,可以將secure屬性設為true,來使能SSL支援。另外,可以配置如下屬性:

 

屬性 描述
algorithm

使用的認證編碼演算法。預設值為SunX509。

 

clientAuth

如果在接受某個串連之前,需要用戶端發送有效憑證鏈結,將該值設為true。如果為false(預設值),不需要使用憑證鏈結。除非用戶端請求被CLIENT-CERT認證保護的資源。

 

keystoreFile

儲存伺服器憑證的keystore檔案路徑。預設情況下,路徑指向運行Tomcat的使用者主目錄下的".keystore"。

 

keystorePass

用來訪問伺服器憑證的密碼,預設值未"changeit"

 

keystoreType

用於儲存伺服器憑證的keystore檔案的類型。預設值未"JKS"

 

sslProtocol

SSL協議的版本號碼,預設值是TLS

 

ciphers

可以使用的密碼編譯演算法列表,用逗號分開。如果沒有指定,可以使用任何演算法。

 

Tomcat HTTP/1.1 Connector 參數整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.