tomcat8 server.xml 標籤connector 配置說明 轉

介紹
每一個connector標籤表示一個連接組建,它支持http/1.1協議,能讓tomcat做爲一個獨立的web服務器,有執行servlet和JSP頁面的能力,在當前服務器監聽特定的TCP端口。能夠一個或多個connector標籤,每一個connector做爲tomcat服務的一部分,每一個connector使用相關引擎來執行請求處理和建立響應。
屬性
公用屬性
全部類型connector都支持的屬性。javascript

屬性 描述
allowTrace 用來啓用HTTP跟蹤,默認爲false
asyncTimeout 設置異步請求超時時間,單位毫秒。默認爲30000.
enableLookups 設置爲true時request.getRemoteHost()返回實際的主機名,設置爲false時request.getRemoteHost()返回IP地址。默認爲false。
maxHeaderCount 限制請求Header的長度,若是超過請求將被拒絕。0表示沒有限制,默認值爲100。
maxParameterCount 設置參數的最大長度,參數由容器自動解析,超出長度的參數將被忽略,0表示沒有限制,默認值爲10000。請注意, FailedRequestFilter 過濾器能夠用來拒絕達到了極限值的請求。
maxPostSize 設置由容器解析的URL參數的最大長度,-1(小於0)爲禁用這個屬性,默認爲2097152(2M) 請注意, FailedRequestFilter 過濾器能夠用來拒絕達到了極限值的請求。
maxSavePostSize 最大大小字節的帖子將被保存/緩衝由容器在形式或CLIENT-CERT身份驗證。 對於這兩種類型的身份驗證,以前的帖子將被保存/緩衝用戶身份驗證。 CLIENT-CERT身份驗證,文章對SSL握手的時間緩衝,緩衝清空處理請求。 對錶單身份驗證後保存在用戶定向到登陸表單和保留,直到用戶成功進行身份驗證或會話相關的身份驗證請求到期。 的極限能夠禁用這個屬性設置爲1。設置屬性爲0將禁用保存POST數據的驗證。若是不指定,這個屬性被設置爲4096(4 kb)。
parseBodyMethods 一個以逗號分隔的請求的HTTP方法的身體將解析請求參數徹底相同的發佈。 這是有用的在RESTful應用程序想要支持POST-style PUT請求的語義。 注意後使Tomcat之外的任何設置的行爲,違背了servlet規範的意圖。 HTTP方法跟蹤是專門禁止依照HTTP規範。默認的是post。
port 設置鏈接器監聽的端口(0-65535)。若是設置成0,將隨機生成(一般只用於嵌入式和測試應用程序)。
protocol 設置鏈接器 處理類。如今tomcat提供4種鏈接器:org.apache.coyote.http11.Http11Protocol - 阻塞的的Java鏈接器org.apache.coyote.http11.Http11NioProtocol - 非阻塞的的Java NIO鏈接器;org.apache.coyote.http11.Http11Nio2Protocol - 非阻塞的的Java NIO2鏈接器;org.apache.coyote.http11.Http11AprProtocol - 本地鏈接器也可使用自定義實現的鏈接器。注意: 若是配置的是默認的HTTP/1.1,將自動配置一個 非阻塞的java NIO鏈接器 或 APR/native(本地鏈接器)。 若是環境變量(window path 和 LD_LIBRARY_PATH unix\linux)含有tomcat本地庫,將使用APR/native鏈接器。 若是環境變量不存在將使用 非阻塞的java NIO鏈接器。 APR/native鏈接器 和 非阻塞的java NIO鏈接器 配置參數是不同的。建議: 在生產環境中配置一個固定的鏈接器,不使用自動配置。看看咱們的鏈接器比較圖表。 Java鏈接器的配置是相同的,http和https。有關APR 鏈接器的更多信息和APR 具體的SSL設置APR 請訪問文檔
proxyName 配置這個屬性來指定調用request.getServerName()時返回的服務器名稱。有關更多信息,請參見代理支持。
proxyPort 配置這個屬性來指定調用request.getServerPort()時返回的服務器端口。有關更多信息,請參見代理支持。
redirectPort 配置指定端口來 ssl鏈接,通常默認配置是8443,可是瀏覽器默認的是443端口請求ssl服務器,因此在https 下將8443改成443.
scheme 配置這個屬性來指定調用request.getScheme()時返回的協議名稱。默認是http。若是使用SSL鏈接器,將本屬性設置成https。
secure 若是你在SSL鏈接器或非SSL鏈接器 接收一個用SSL過來的請求,將這個屬性設置成true,調用request.isSecure()時返回true。默認爲false。
URIEncoding 配置URI使用的字符編碼,來解碼?以前的字符串。 通常狀況下默認使用utf-8,在org.apache.catalina.STRICT_SERVLET_COMPLIANCE(系統屬性)爲true的狀況下使用 ISO-8859-1。
useBodyEncodingForURI 當設置爲true時 根據http body設置的字符集來解碼 url裏? 以後的參數。Tomcat 4.1.x 以上的版本支持, setCharacterEncoding方法也用於參數的URL,默認值是false。注意: 這指定若是在contentType應該用於指定的編碼URI查詢參數,而不是使用URIEncoding。 這個設置存在與Tomcat 4.1.x 兼容。內容類型指定的編碼,或者顯式地設置使用的要求。 setCharacterEncoding方法也用於參數的URL。默認值是false。註釋: 1)此設置僅適用於請求的查詢字符串(?以後的字符串),不會影響URIEncoding設置的?以前的字符串解碼。2)若是請求字符編碼是錯誤的(不是由SetCharacterEncodingFilter 相似的過濾器或setCharacterEncoding方法 提供字符集),默認編碼老是「iso-8859-1」。更詳細的解釋請看URIEncoding和useBodyEncodingForURI詳解
useIPVHosts 設置true,tomcat會根據指定的request header Host來肯定執行的鏈接器。默認是false。應用場景只能使用域名訪問。
xpoweredBy 若設置爲true,Tomcat使用規範建議的報頭代表支持Servlet的規範版本,默認false。

標準屬性
標準的HTTP鏈接器(BIO、NIO NIO2和APR/native)都支持如下屬性除了常見的鏈接器上面列出的屬性。css

屬性 描述
acceptCount 當tomcat起動的線程數達到最大時,接受排隊的請求個數,默認值爲100。 更詳細的解釋請看acceptCount解釋
acceptorThreadCount 用於接受鏈接的線程數量。增長這個值在多CPU的機器上,儘管你永遠不會真正須要超過2。 也有不少非維持鏈接,您可能但願增長這個值。默認值是1。
acceptorThreadPriority 處理的優先級線程。接受新鏈接使用的線程。 默認值是5(java.lang.Thread.NORM_PRIORITY。NORM_PRIORITY常數)。 看java.lang.Thread的JavaDoc。線程類的更多細節在這個優先級是什麼意思。
address 與多個服務器的IP地址,該屬性指定的地址將用於監聽指定的端口。 默認狀況下,將使用這個端口與服務器相關聯的全部IP地址。
allowedTrailerHeaders 默認的Tomcat將忽略全部拖車頭當處理分塊輸入。 頭要處理,它必須被添加到這個以逗號分隔的標題名稱。
bindOnInit 控制時使用的插座鏈接器被綁定。 默認綁定啓動鏈接器時,釋放當鏈接器被摧毀。 若是設置爲false,套接字將被綁定在啓動鏈接器時,釋放時中止。
compressableMimeType 一個逗號分隔的列表可使用HTTP壓縮的MIME類型。 默認值是text/html,text/xml,text/plain,text/css,text/javascript,application/javascript
compression 鏈接器可使用HTTP/1.1 GZIP壓縮爲了節省服務器的帶寬。 參數的可接受的值是「關閉」(禁用壓縮),「on」(容許壓縮,致使文本數據壓縮),「力」(力量壓縮在全部狀況下),或一個數值整數值(至關於「上」,但指定的最小輸出壓縮以前)的數據量。 若是內容長度是未知的和壓縮設置爲「on」或更激進,輸出也將被壓縮。 若是不指定,這個屬性被設置爲「關閉」。註解: 之間有一個權衡使用壓縮使用sendfile(節省帶寬)和功能(保存你的CPU週期)。 若是鏈接器支持sendfile特性,例如NIO鏈接器、使用sendfile將優先於壓縮。 靜態文件更大的將48 Kb將未壓縮的。 你能夠關掉sendfile經過設置useSendfile鏈接器的屬性,以下記錄,或改變sendfile使用率閥值配置的DefaultServlet在默認conf/server.xml或在web.xml的web應用程序。
compressionMinSize 若是壓縮設置爲「on」,那麼這個屬性可用於指定輸出前的最低數量的數據壓縮。若是不指定,該屬性默認爲「2048」。
connectionLinger 秒數在這個鏈接器將持續使用的套接字時關閉。默認值是 -1,禁用socket 延遲時間。
connectionTimeout 這個鏈接器將等待的毫秒數,接受一個鏈接後,請求URI提交。 使用一個值爲1表示沒有(無限)超時。默認值爲60000(即60秒),但請注意,標準的server.xml附帶Tomcat這個設置爲20000(即20秒)。 除非disableUploadTimeout是設置爲false,這超時時也會使用閱讀請求主體(若是有的話)。
connectionUploadTimeout 指定超時時間,以毫秒爲單位,使用數據上傳是在進步。 這隻生效disableUploadTimeout是否設置爲false。
disableUploadTimeout 這個標誌容許servlet容器使用一個不一樣的,一般長在數據上傳鏈接超時。 若是不指定,這個屬性被設置爲true,表示禁用該時間超時。
executor 在一個執行人元素的引用名稱。 若是設置了這個屬性,指定遺囑執行人存在,鏈接器將使用執行程序,和全部其餘線程屬性將被忽略。 注意,若是沒有指定一個共享的遺囑執行人鏈接器,鏈接器將使用一個私有的,內部執行人提供線程池。
executorTerminationTimeoutMillis 私有的時間內部執行人將等待請求處理線程結束以前繼續中止鏈接器的過程。 若是沒有設置,默認是0(零)BIO鏈接器和5000(5秒)NIO,NIO2和APR/native鏈接器。
keepAliveTimeout 這個鏈接器的毫秒數將關閉鏈接以前等待另外一個HTTP請求。 默認值是使用connectionTimeout屬性的值被設置。使用一個值爲-1表示沒有(無限)超時。
maxConnections 最大鏈接數,服務器將接受和處理在任何給定的時間。 這個數字已經達到時,服務器將接受,但不是過程,另一個鏈接。 這些額外的鏈接被阻塞,直到正在處理的鏈接數量低於maxConnections此時服務器將從新開始接受和處理新鏈接。 注意,一旦達到極限,操做系統可能仍然基於acceptCount接受鏈接設置。默認值不一樣的鏈接器類型。 對於生物默認的值是maxThreads除非使用一個執行人在這種狀況下,默認的值將maxThreads執行人。 NIO和NIO2默認是10000。APR/native,默認是8192。
maxExtensionSize 最大鏈接數,服務器將接受和處理在任何給定的時間。 這個數字已經達到時,服務器將接受,但不是過程,另一個鏈接。 這些額外的鏈接被阻塞,直到正在處理的鏈接數量低於maxConnections此時服務器將從新開始接受和處理新鏈接。 注意,一旦達到極限,操做系統可能仍然基於acceptCount接受鏈接設置。默認值不一樣的鏈接器類型。 對於生物默認的值是maxThreads除非使用一個執行人在這種狀況下,默認的值將maxThreads執行人。 NIO和NIO2默認是10000。APR/native,默認是8192。註解: APR/native在Windows上,配置的值將被減小到最高1024的倍數小於或等於maxConnections。這樣作是爲了性能的緣由。 若是設置爲值爲-1,maxConnections功能被禁用和鏈接不計算在內。
maxHttpHeaderSize 請求和響應HTTP頭的最大大小,字節中指定。 若是不指定,這個屬性被設置爲8192(8 KB)。
maxKeepAliveRequests HTTP請求的最大數量能夠管線式直到服務器鏈接關閉。 設置這個屬性1將禁用HTTP/1.0 keep-alive,以及HTTP/1.1 keep-alive和pipelining。 設置爲1將容許無限數量的管道或 keep-aliveHTTP請求。若是不指定,這個屬性被設置爲100。
maxSwallowSize 最大請求體字節數(不包括傳輸編碼開銷),將由Tomcat吞下上傳失敗。 上傳失敗是當Tomcat知道請求的身體將被忽略但客戶仍將其發送。 若是Tomcat不吞下身體的客戶不太可能看到響應。 若是沒有指定默認將使用2097152(2字節)。 小於0的值代表沒有限制應該被強制執行。
maxThreads 請求處理線程的最大數量是由這個鏈接器,所以決定了同時發生的請求的最大數量,能夠處理。 若是不指定,這個屬性被設置爲200。 若是一個執行人與這個鏈接器,該屬性將被忽略的鏈接器使用執行程序將執行任務而不是一個內部線程池。
maxTrailerSize 拖頭的總長度限制的最後一塊分塊的HTTP請求。 若是該值是-1,沒有限制將會實施。若是沒有指定,那麼將使用缺省值爲8192。
minSpareThreads 最低數量的線程老是運行。若是沒有指定,默認爲10。
noCompressionUserAgents 價值是一個正則表達式(使用java.util.regex)匹配用戶代理頭的HTTP客戶端壓縮不該使用,由於這些客戶,雖然他們作的廣告支持的功能,有一個破碎的實現。 默認值是一個空字符串(regexp匹配禁用)。
processorCache 協議處理器緩存的處理器對象來提升性能。 該設置決定多少這些對象的緩存。-1意味着無限的,默認是200。 若是不使用Servlet 3.0異步處理,默認是使用同樣的maxThreads設置。 若是使用Servlet 3.0異步處理,默認是使用大maxThreads和預期的併發請求的最大數量(同步和異步)。
restrictedUserAgents 價值是一個正則表達式(使用java.util.regex)匹配用戶代理頭的HTTP客戶端HTTP/1.1或HTTP/1.0保持活着不該使用,即便客戶廣告支持這些特性。 默認值是一個空字符串(regexp匹配禁用)。
server 覆蓋服務器的http響應頭。 若是設置,該屬性的值覆蓋了Tomcat缺省和任何服務器頭由一個web應用程序。 若是沒有設置,任何值指定的應用程序使用。 若是應用程序沒有指定一個值,那麼使用Apache-Coyote/1.1。除非你是有用的修改,不了你不須要這個功能。
socketBuffer 緩衝區的大小(以字節爲單位)套接字提供輸出緩衝。-1能夠禁用指定緩衝區的使用。默認狀況下,將使用9000字節的緩衝區。
SSLEnabled 使用這個屬性來啓用SSL鏈接器上的通訊量。 打開SSL握手/加密/解密鏈接器將這個值設置爲true。默認值是false。 當把這個價值真正的你想要設置方案和安全屬性傳遞正確的request.getScheme()和request.isSecure()值servlet的更多信息,請參見SSL支持。
tcpNoDelay 若是設置爲true,TCP_NO_DELAY選項將被設置在服務器套接字,而在大多數狀況下提升性能。這是默認設置爲true。
threadPriority 請求處理線程的優先級在JVM中。默認值是5(java.lang.Thread.NORM_PRIORITY 常數)。看到 java.lang.Thread 的JavaDoc。線程類的更多細節在這個優先級是什麼意思。
upgradeAsyncWriteBufferSize 默認大小的緩衝區分配爲異步寫道,不能在單個操做完成,中指定的字節。 寫數據,不能當即將存儲在這個緩衝區,直到它能夠編寫。 若是更多的數據須要存儲空間是可用的緩衝區比緩衝區的大小將會增長的時間寫做。 若是沒有指定將使用默認值爲8192。
相關文章
相關標籤/搜索