久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache Tomcat Configuration Reference

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache Tomcat Configuration Reference 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.jaxmao.org/tomcat-docs/config/index.html

概 述


print-friendly
version
Overview

這個手冊包括可能被包括在conf/server.xml文件里來配置Tomcat 5 Servlet/JSP容器行為的所有配置指令的參考信息。這里沒有描述哪些配置指令應該被怎樣用來執行哪些特殊的任務——關于這些,參看主要索引頁面(main index page)里的各種HOW-TO文檔資料。

關于配置元素的描述被組織成下列幾種主要類型:

  • 最上層元素 - <Server>是整個配置文件的根元素,而<Service>代表與Engine相關聯的一組連接器。
  • 連接器 - 代表發送請求的(以及接受回應的)外部客戶與某個特定服務之間的界面。
  • 容器 - 代表那些具有處理接收到的請求和產生相應的回應功能的組件。一個Engine為一個Service處理所有的請求,一個Host為一個特殊的虛擬機處理所有的請求,一個Context為一個特定的web應用程序處理所有的請求。
  • 嵌套的組件 - 代表那些可以被嵌套在一個容器元素里的元素。有些元素可以嵌套在任何容器里,而另外一些則僅僅能被嵌套在一個Context里。

對于每個元素,其相應的文檔資料遵循下面這個一般大綱:

  • 簡介 - 關于這個特殊組件的全面描述。這里會有一個被一個或多個標準實現執行的相應的Java界面(在org.apache.catalina軟件包里)。
  • 屬性 - 對這個元素合法的一組屬性。通常,這組屬性又被再分為兩組:一組是被這個相應的Java界面的所有實現支持的公用屬性,另一組是執行這個界面的某一特別的Java類所特定的標準實現屬性。所必需的屬性名稱是被強調粗寫的(bolded)。
  • 嵌套的組件 - 列舉哪些嵌套的組件可以被合法地嵌套在這個元素里邊。
  • 特別性能 - 描述了被這個界面的標準實現支持的多種特別性能(每個元素類型所特定的)的配置。

服務器組件


print-friendly
version
Introduction

一個Server(服務器)元素代表整個Catalina servlet容器。因此,它必須是conf/server.xml配置文件里面的最外層元素。它的屬性代表了這個servlet容器的總體特征。

Attributes
Common Attributes

Server(服務器)的所有實現支持下列屬性:

AttributeDescription
className

要使用的implementation的Java類名。這個類必須執行org.apache.catalina.Server 接口。如果沒有指定類名,將使用標準實現。

port

TCP/IP端口數目,這個服務器在此等待關閉。這個連接必須從正在運行這個Tomcat實例的相同的服務器計算機上被初始化。

shutdown

要關閉Tomcat,必須通過TCP/IP連接到指定的端口數目來被接受的命令字符串。

Standard Implementation

這個服務器的標準實現是org.apache.catalina.core.StandardServer。它支持下面其他屬性(除了上面列出的通用屬性外):

AttributeDescription
Nested Components

下列組件可以被嵌套在一個Server(服務器)元素里面:

  • Service - 一個或多個service元素。
  • GlobalNamingResources - 為這個server配置JNDI全球性資源。
Special Features

Server(服務器)元素沒有任何專有特征。

服務組件


print-friendly
version
Introduction

一個Service元素代表一個或多個連接器(Connector)組件的組合,這些連接器組件共享一個Engine component來處理進入的請求。一個或多個Service元素可以嵌套在一個Server(服務器)元素里面。

Attributes
Common Attributes

Service的所有實現支持下列屬性:

AttributeDescription
className

要使用的implementation的Java類名。這個類必須執行org.apache.catalina.Service 接口。如果沒有指定類名,將使用標準實現。

name

這個Service元素所顯示的名字,如果你使用標準的Catalina組件,它會被包括在log messages里面。每個與某一特殊的Server(服務器)相關聯的Service的名字必須是獨特的。

Standard Implementation

這個Service的標準實現是org.apache.catalina.core.StandardService 。它支持下面其他屬性(除了上面列出的通用屬性外):

AttributeDescription
Nested Components

唯一的能夠嵌套在一個Service元素里的組件是一個或多個Connector元素,后面緊跟著一個(僅僅一個)Engine元素。

Special Features

Service元素沒有任何專有特征。

The HTTP Connector


print-friendly
version
Introduction

HTTP Connector代表一個支持HTTP/1.1協定的Connector組件。它使Catalina在具有執行servlets和JSP頁面能力之外,還能夠作為獨立的web服務器運作。這個組件的一個特殊的實例是在這個服務器上的一個特定的TCP端口數目上監聽連接。一個或多個這樣的Connectors(連接器)可以配置為一單個Service的一部分,每一個Connectors(連接器)轉向它相關的Engine去處理請求和產生回應。

If you wish to configure the Connector that is used for connections to web servers using the AJP protocol (such as the mod_jk 1.2.x connector for Apache 1.3), see here instead.

在服務器啟動時間,這個Connector將產生許多處理請求的線程(根據配置的minSpareThreads屬性的值)。每個進入的請求在這個請求其間需要一個線程。如果同時發生的多個請求被接收到,它們可以被當前可使用的處理請求的線程來處理,另外的線程將被產生直到所配置的最大數(就是maxThreads屬性的值)。如果還有同時發生的多個請求被接收到,它們就在Connector所產生的server socket里面被堆積起來, 直到所配置的最大數為止(就是acceptCount屬性的值)。其他更多的同時發生的請求將會收到"connection refused" 的錯誤信息,直到有資源能處理它們為止。

Attributes
Common Attributes

Connector的所有實現支持下列屬性:

AttributeDescription
allowTrace

一個布林值,可以用來啟用或取消TRACE HTTP方法。如果沒有指定,這個屬性被設置為false。

emptySessionPath

If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification implementations, but will greatly affect performance if many applications are accessed on a given server by the client. If not specified, this attribute is set to false.

enableLookups

如果你想為了返回遠程客戶的實際主機名而調用request.getRemoteHost()方法來執行DNS查詢,就把它設置為true。要跳過DNS查詢并返回String形式的IP地址,就把它設置為false(這樣可以提高性能)。在缺省情況下,DNS查詢是可以啟用的。

maxPostSize

The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The limit can be disabled by setting this attribute to a value less than or equal to 0. If not specified, this attribute is set to 2097152 (2 megabytes).

maxSavePostSize

The maximum size in bytes of the POST which will be saved/buffered by the container during FORM or CLIENT-CERT authentication. For both types of authentication, the POST will be saved/buffered before the user is authenticated. For CLIENT-CERT authentication, the POST is buffered for the duration of the SSL handshake and the buffer emptied when the request is processed. For FORM authentication the POST is saved whilst the user is re-directed to the login form and is retained until the user successfully authenticates or the session associated with the authentication request expires. The limit can be disabled by setting this attribute to -1. Setting the attribute to zero will disable the saving of POST data during authentication . If not specified, this attribute is set to 4096 (4 kilobytes).

protocol

This attribute value must be HTTP/1.1 to use the HTTP handler, which is the default.

proxyName

If this Connector is being used in a proxy configuration, configure this attribute to specify the server name to be returned for calls to request.getServerName(). See Proxy Support for more information.

proxyPort

If this Connector is being used in a proxy configuration, configure this attribute to specify the server port to be returned for calls to request.getServerPort(). See Proxy Support for more information.

redirectPort

If this Connector is supporting non-SSL requests, and a request is received for which a matching <security-constraint> requires SSL transport, Catalina will automatically redirect the request to the port number specified here.

scheme

Set this attribute to the name of the protocol you wish to have returned by calls to request.getScheme(). For example, you would set this attribute to "https" for an SSL Connector. The default value is "http". See SSL Support for more information.

secure

Set this attribute to true if you wish to have calls to request.isSecure() to return true for requests received by this Connector (you would want this on an SSL Connector). The default value is false.

URIEncoding

This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

useBodyEncodingForURI

This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x, where the encoding specified in the contentType, or explicitely set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is false.

useIPVHosts

Set this attribute to true to cause Tomcat to use the IP address that the request was recieved on to determine the Host to send the request to. The default value is false.

xpoweredBy

Set this attribute to true to cause Tomcat to advertise support for the Servlet specification using the header recommended in the specification. The default value is false.

Standard Implementation

HTTP supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
acceptCount

The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 10.

address

對于具有不止一個IP地址的服務器來說,這個屬性指定了哪一個地址將被用來在指定的端口監聽。在缺省情況下,這個端口會被使用在所有與這個服務器相關的IP地址上。

bufferSize

The size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes will be provided.

compressableMimeType

The value is a comma separated list of MIME types for which HTTP compression may be used. The default value is text/html,text/xml,text/plain.

compression

The Connector may use HTTP/1.1 GZIP compression in an attempt to save server bandwidth. The acceptable values for the parameter is "off" (disable compression), "on" (allow compression, which causes text data to be compressed), "force" (forces compression in all cases), or a numerical integer value (which is equivalent to "on", but specifies the minimum amount of data before the output is compressed). If the content-length is not known and compression is set to "on" or more aggressive, the output will also be compressed. If not specified, this attribute is set to "off".

connectionLinger

The number of milliseconds during which the sockets used by this Connector will linger when they are closed. The default value is -1 (socket linger is disabled).

connectionTimeout

The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. The default value is 60000 (i.e. 60 seconds).

disableUploadTimeout

This flag allows the servlet container to use a different, longer connection timeout while a servlet is being executed, which in the end allows either the servlet a longer amount of time to complete its execution, or a longer timeout during data upload. If not specified, this attribute is set to "true".

maxHttpHeaderSize

The maximum size of the request and response HTTP header, specified in bytes. If not specified, this attribute is set to 4096 (4 KB).

maxKeepAliveRequests

The maximum number of HTTP requests which can be pipelined until the connection is closed by the server. Setting this attribute to 1 will disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 will allow an unlimited amount of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100.

maxSpareThreads

The maximum number of unused request processing threads that will be allowed to exist until the thread pool starts stopping the unnecessary threads. The default value is 50.

maxThreads

The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.

minSpareThreads

The number of request processing threads that will be created when this Connector is first started. The connector will also make sure it has the specified number of idle processing threads available. This attribute should be set to a value smaller than that set for maxThreads. The default value is 4.

noCompressionUserAgents

The value is a comma separated list of regular expressions matching user-agents of HTTP clients for which compression should not be used, because these clients, although they do advertise support for the feature, have a broken implementation. The default value is an empty String (regexp matching disabled).

port

The TCP port number on which this Connector will create a server socket and await incoming connections. Your operating system will allow only one server application to listen to a particular port number on a particular IP address.

restrictedUserAgents

The value is a comma separated list of regular expressions matching user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive should not be used, even if the clients advertise support for these features. The default value is an empty String (regexp matching disabled).

server

The Server header for the http response. Unless your paranoid, you won't need this feature.

socketBuffer

The size (in bytes) of the buffer to be provided for socket output buffering. -1 can be specified to disable the use of a buffer. By default, a buffers of 9000 bytes will be used.

strategy

The thread pooling strategy which will be used. The default strategy does not use a master thread, but a more conventional strategy using a master listener thread can be used by setting "ms" as this attribute's value. The master strategy will work significantly better using the threadPriority attribute, which will apply only to the thread which listens on the server socket. This is set to lf by default.

tcpNoDelay

If set to true, the TCP_NO_DELAY option will be set on the server socket, which improves performance under most circumstances. This is set to true by default.

threadPriority

The priority of the request processing threads within the JVM. The default value is java.lang.Thread#NORM_PRIORITY. See the JavaDoc for the java.lang.Thread class for more details on what this priority means.

Nested Components

None at this time.

Special Features
HTTP/1.1 and HTTP/1.0 Support

This Connector supports all of the required features of the HTTP/1.1 protocol, as described in RFC 2616, including persistent connections, pipelining, expectations and chunked encoding. If the client (typically a browser) supports only HTTP/1.0, the Connector will gracefully fall back to supporting this protocol as well. No special configuration is required to enable this support. The Connector also supports HTTP/1.0 keep-alive.

RFC 2616 requires that HTTP servers always begin their responses with the highest HTTP version that they claim to support. Therefore, this Connector will always return HTTP/1.1 at the beginning of its responses.

Proxy Support

The proxyName and proxyPort attributes can be used when Tomcat is run behind a proxy server. These attributes modify the values returned to web applications that call the request.getServerName() and request.getServerPort() methods, which are often used to construct absolute URLs for redirects. Without configuring these attributes, the values returned would reflect the server name and port on which the connection from the proxy server was received, rather than the server name and port to whom the client directed the original request.

For more information, see the Proxy Support HOW-TO.

SSL Support

You can enable SSL support for a particular instance of this Connector by setting the secure attribute to true. In addition, you may need to configure the following attributes:

AttributeDescription
algorithm

The certificate encoding algorithm to be used. If not specified, the default value is SunX509.

clientAuth

Set to true if you want the SSL stack to require a valid certificate chain from the client before accepting a connection. Set to want if you want the SSL stack to request a client Certificate, but not fail if one isn't presented. A false value (which is the default) will not require a certificate chain unless the client requests a resource protected by a security constraint that uses CLIENT-CERT authentication. See the SSL HowTo for an example.

keystoreFile

The pathname of the keystore file where you have stored the server certificate to be loaded. By default, the pathname is the file ".keystore" in the operating system home directory of the user that is running Tomcat.

keystorePass

The password used to access the server certificate from the specified keystore file. The default value is "changeit".

keystoreType

The type of keystore file to be used for the server certificate. If not specified, the default value is "JKS".

sslProtocol

The version of the SSL protocol to use. If not specified, the default is "TLS".

ciphers

A comma seperated list of the encryption ciphers that may be used. If not specified, then any available cipher may be used.

For more information, see the SSL Configuration HOW-TO.

The AJP Connector


print-friendly
version
Introduction

The AJP Connector element represents a Connector component that communicates with a web connector via the AJP protocol. This is used for cases where you wish to invisibly integrate Tomcat 5 into an existing (or new) Apache installation, and you want Apache to handle the static content contained in the web application, and/or utilize Apache's SSL processing.

This connector supports load balancing when used in conjunction with the jvmRoute attribute of the Engine.

The native connectors supported with this Tomcat release are:

  • JK 1.2.x with any of the supported servers
  • mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), with AJP enabled

Other native connectors supporting AJP may work, but are no longer supported.

Attributes
Common Attributes

Connector的所有實現支持下列屬性:

AttributeDescription
allowTrace

一個布林值,可以用來啟用或取消TRACE HTTP方法。如果沒有指定,這個屬性被設置為false。

emptySessionPath

If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification implementations, but will greatly affect performance if many applications are accessed on a given server by the client. If not specified, this attribute is set to false.

enableLookups

如果你想為了返回遠程客戶的實際主機名而調用request.getRemoteHost()方法來執行DNS查詢,就把它設置為true。要跳過DNS查詢并返回String形式的IP地址,就把它設置為false(這樣可以提高性能)。在缺省情況下,DNS查詢是可以啟用的。

maxPostSize

The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The feature can be disabled by setting this attribute to a value less than or equal to 0. If not specified, this attribute is set to 2097152 (2 megabytes).

maxSavePostSize

The maximum size in bytes of the POST which will be saved/buffered by the container during FORM or CLIENT-CERT authentication. For both types of authentication, the POST will be saved/buffered before the user is authenticated. For CLIENT-CERT authentication, the POST is buffered for the duration of the SSL handshake and the buffer emptied when the request is processed. For FORM authentication the POST is saved whilst the user is re-directed to the login form and is retained until the user successfully authenticates or the session associated with the authentication request expires. The limit can be disabled by setting this attribute to -1. Setting the attribute to zero will disable the saving of POST data during authentication. If not specified, this attribute is set to 4096 (4 kilobytes).

protocol

This attribute value must be AJP/1.3 to use the AJP handler.

proxyName

If this Connector is being used in a proxy configuration, configure this attribute to specify the server name to be returned for calls to request.getServerName(). See Proxy Support for more information.

proxyPort

If this Connector is being used in a proxy configuration, configure this attribute to specify the server port to be returned for calls to request.getServerPort(). See Proxy Support for more information.

redirectPort

If this Connector is supporting non-SSL requests, and a request is received for which a matching <security-constraint> requires SSL transport, Catalina will automatically redirect the request to the port number specified here.

request.registerRequests

This attribute controls request registration for JMX monitoring of the Connector. It is enabled by default, but may be turned it off to save a bit of memory.

scheme

Set this attribute to the name of the protocol you wish to have returned by calls to request.getScheme(). For example, you would set this attribute to "https" for an SSL Connector. The default value is "http". See SSL Support for more information.

secure

Set this attribute to true if you wish to have calls to request.isSecure() to return true for requests received by this Connector (you would want this on an SSL Connector). The default value is false.

URIEncoding

This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

useBodyEncodingForURI

This specifies if the encoding specified in contentType should be used for URI query parameters, instead of using the URIEncoding. This setting is present for compatibility with Tomcat 4.1.x, where the encoding specified in the contentType, or explicitely set using Request.setCharacterEncoding method was also used for the parameters from the URL. The default value is false.

useIPVHosts

Set this attribute to true to cause Tomcat to use the ServerName passed by the native web server to determine the Host to send the request to. The default value is false.

xpoweredBy

Set this attribute to true to cause Tomcat to advertise support for the Srevlet specification using the header recommended in the specification. The default value is false.

Standard Implementation

To use AJP, you must specify the protocol attribute (see above).

This implementation supports the AJP 1.3 protocol.

It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
address

For servers with more than one IP address, this attribute specifies which address will be used for listening on the specified port. By default, this port will be used on all IP addresses associated with the server. A value of 127.0.0.1 indicates that the Connector will only listen on the loopback interface.

backlog

The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused. The default value is 10.

bufferSize

The size of the output buffer to use. If less than or equal to zero, then output buffering is disabled. The default value is -1 (i.e. buffering disabled)

connectionTimeout

The number of milliseconds this Connector will wait, after accepting a connection, for the request URI line to be presented. The default value is infinite (i.e. no timeout).

minProcessors棄用

The minimum number of processors to start at initialization time. If not specified, this atttribute is set to 5.

maxProcessors棄用

The maximum number of processors allowed. This should be set to a value that is greater than or equal to the maximum number of concurrent connections the remote web server can open to Tomcat simultaneously. For example, if the web server is Apache 1.x or 2.x Tomcat's maxProcessors should be set to the value of Apache's maxClients directive.

A maxProcessors value of zero (0) signifies that the number of processors is unlimited. If not specified, this atttribute defaults to 20.

maxSpareThreads

The maximum number of unused request processing threads that will be allowed to exist until the thread pool starts stopping the unnecessary threads. The default value is 50.

maxThreads

The maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.

minSpareThreads

The number of request processing threads that will be created when this Connector is first started. The connector will also make sure it has the specified number of idle processing threads available. This attribute should be set to a value smaller than that set for maxThreads. The default value is 4.

port

The TCP port number on which this Connector will create a server socket and await incoming connections. Your operating system will allow only one server application to listen to a particular port number on a particular IP address.

tcpNoDelay

If set to true, the TCP_NO_DELAY option will be set on the server socket, which improves performance under most circumstances. This is set to true by default.

tomcatAuthentication

If set to true, the authetication will be done in Tomcat. Otherwise, the authenticated principal will be propagated from the native webaserver and used for authorization in Tomcat. The default value is true.

Nested Components

None at this time.

The Context Container


print-friendly
version
Introduction

The Context element represents a web application, which is run within a particular virtual host. Each web application is based on a Web Application Archive (WAR) file, or a corresponding directory containing the corresponding unpacked contents, as described in the Servlet Specification (version 2.2 or later). For more information about web application archives, you can download the Servlet Specification, and review the Tomcat Application Developer's Guide.

The web application used to process each HTTP request is selected by Catalina based on matching the longest possible prefix of the Request URI against the context path of each defined Context. Once selected, that Context will select an appropriate servlet to process the incoming request, according to the servlet mappings defined in the web application deployment descriptor file (which MUST be located at /WEB-INF/web.xml within the web app's directory hierarchy).

You may define as many Context elements as you wish. Each such Context MUST have a unique context path. In addition, a Context must be present with a context path equal to a zero-length string. This Context becomes the default web application for this virtual host, and is used to process all requests that do not match any other Context's context path.

For Tomcat 5, unlike Tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. This is because it makes modifing the Context configuration more invasive since the main conf/server.xml file cannot be reloaded without restarting Tomcat.

Context elements may be explicitly defined:

  • in the $CATALINA_HOME/conf/context.xml file: the Context element information will be loaded by all webapps
  • in the $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default file: the Context element information will be loaded by all webapps of that host
  • in individual files (with a ".xml" extension) in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory. The name of the file (less the .xml) extension will be used as the context path. Multi-level context paths may be defined using #, e.g. context#path.xml. The default web application may be defined by using a file called ROOT.xml.
  • if the previous file was not found for this application, in an individual file at /META-INF/context.xml inside the application files
  • inside a Host element in the main conf/server.xml

In addition to explicitly specified Context elements, there are several techniques by which Context elements can be created automatically for you. See Automatic Application Deployment and User Web Applications for more information.

在下面的描述中使用變量名$CATALINA_HOME來代指Tomcat5所安裝的目錄地址,這是一個基礎目錄(base directory),其他的相關路徑由它而派生。不過,如果你已經把Tomcat設置成多個體實例(multiple instances),并且設立了一個$CATALINA_BASE目錄,那么你就應使用$CATALINA_BASE而不是$CATALINA_HOME作為參照。

Attributes
Common Attributes

Context的所有實現支持下列屬性:

AttributeDescription
backgroundProcessorDelay

This value represents the delay in seconds between the invocation of the backgroundProcess method on this context and its child containers, including all wrappers. Child containers will not be invoked if their delay value is not negative (which would mean they are using their own processing thread). Setting this to a positive value will cause a thread to be spawn. After waiting the specified amount of time, the thread will invoke the backgroundProcess method on this host and all its child containers. A context will use background processing to perform session expiration and class monitoring for reloading. If not specified, the default value for this attribute is -1, which means the context will rely on the background processing thread of its parent host.

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Context interface. If not specified, the standard value (defined below) will be used.

cookies

Set to true if you want cookies to be used for session identifier communication if supported by the client (this is the default). Set to false if you want to disable the use of cookies for session identifier communication, and rely only on URL rewriting by the application.

crossContext

Set to true if you want calls within this application to ServletContext.getContext() to successfully return a request dispatcher for other web applications running on this virtual host. Set to false (the default) in security conscious environments, to make getContext() always return null.

docBase

The Document Base (also known as the Context Root) directory for this web application, or the pathname to the web application archive file (if this web application is being executed directly from the WAR file). You may specify an absolute pathname for this directory or WAR file, or a pathname that is relative to the appBase directory of the owning Host.

override

Set to true to have explicit settings in this Context element override any corresponding settings in the default settings associated with the owning Host. The default is false.

privileged

Set to true to allow this context to use container servlets, like the manager servlet.

path

The context path of this web application, which is matched against the beginning of each request URI to select the appropriate web application for processing. All of the context paths within a particular Host must be unique. If you specify a context path of an empty string (""), you are defining the default web application for this Host, which will process all requests not assigned to other Contexts. The value of this field must not be set except when statically defining a Context in server.xml, as it will be infered from the filenames used for either the .xml context file or the docBase.

reloadable

Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. That's why the default setting for this attribute is false. You can use the Manager web application, however, to trigger reloads of deployed applications on demand.

wrapperClass

Java class name of the org.apache.catalina.Wrapper implementation class that will be used for servlets managed by this Context. If not specified, a standard default value will be used.

Standard Implementation

The standard implementation of Context is org.apache.catalina.core.StandardContext. It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
allowLinking

If the value of this flag is true, symlinks will be allowed inside the web application, pointing to resources outside the web application base path. If not specified, the default value of the flag is false.

NOTE: This flag MUST NOT be set to true on the Windows platform (or any other OS which does not have a case sensitive filesystem), as it will disable case sensitivity checks, allowing JSP source code disclosure, among other security problems.

antiJARLocking

If true, the Tomcat classloader will take extra measures to avoid JAR file locking when resources are accessed inside JARs through URLs. This will impact startup time of applications, but could prove to be useful on platforms or configurations where file locking can occur. If not specified, the default value is false.

antiResourceLocking

If true, Tomcat will prevent any file locking. This will significantly impact startup time of applications, but allows full webapp hot deploy and undeploy on platforms or configurations where file locking can occur. If not specified, the default value is false.

Please note that setting this to true has some side effects, including the disabling of JSP reloading in a running server: see Bugzilla 37668.

cacheMaxSize

Maximum size of the static resource cache in kilobytes. If not specified, the default value is 10240 (10 megabytes).

cacheTTL

Amount of time in milliseconds between cache entries revalidation. If not specified, the default value is 5000 (5 seconds).

cachingAllowed

If the value of this flag is true, the cache for static resources will be used. If not specified, the default value of the flag is true.

caseSensitive

If the value of this flag is true, all case sensitivity checks will be disabled. If not specified, the default value of the flag is true.

NOTE: This flag MUST NOT be set to false on the Windows platform (or any other OS which does not have a case sensitive filesystem), as it will disable case sensitivity checks, allowing JSP source code disclosure, among other security problems.

processTlds

Whether the context should process TLDs on startup. The default is true. The false setting is intended for special cases that know in advance TLDs are not part of the webapp.

swallowOutput

If the value of this flag is true, the bytes output to System.out and System.err by the web application will be redirected to the web application logger. If not specified, the default value of the flag is false.

tldNamespaceAware

If the value of this flag is true, the TLD files XML validation will be namespace-aware. If you turn this flag on, you should probably also turn tldValidation on. The default value for this flag is false, and setting it to true will incur a performance penalty.

tldValidation

If the value of this flag is true, the TLD files will be XML validated on context startup. The default value for this flag is false, and setting it to true will incur a performance penalty.

unloadDelay

Amount of ms that the container will wait for servlets to unload. If not specified, the default value of the flag is 2000 ms.

unpackWAR

If true, Tomcat will unpack all compressed web applications before running them. If not specified, the default value is true.

useNaming

Set to true (the default) to have Catalina enable a JNDI InitialContext for this web application that is compatible with Java2 Enterprise Edition (J2EE) platform conventions.

workDir

Pathname to a scratch directory to be provided by this Context for temporary read-write use by servlets within the associated web application. This directory will be made visible to servlets in the web application by a servlet context attribute (of type java.io.File) named javax.servlet.context.tempdir as described in the Servlet Specification. If not specified, a suitable directory underneath $CATALINA_HOME/work will be provided.

Nested Components

You can nest at most one instance of the following utility components by nesting a corresponding element inside your Context element:

  • Loader - Configure the web application class loader that will be used to load servlet and bean classes for this web application. Normally, the default configuration of the class loader will be sufficient.
  • Manager - Configure the session manager that will be used to create, destroy, and persist HTTP sessions for this web application. Normally, the default configuration of the session manager will be sufficient.
  • Realm - Configure a realm that will allow its database of users, and their associated roles, to be utilized solely for this particular web application. If not specified, this web application will utilize the Realm associated with the owning Host or Engine.
  • Resources - Configure the resource manager that will be used to access the static resources associated with this web application. Normally, the default configuration of the resource manager will be sufficient.
  • WatchedResource - The auto deployer will monitor the specified static resource of the web application for updates, and will reload the web application if is is updated. The content of this element must be a string.
Special Features
Logging

A context is associated with the org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path] log category. Note that the brackets are actually part of the name, don't omit them.

Access Logs

When you run a web server, one of the output files normally generated is an access log, which generates one line of information for each request processed by the server, in a standard format. Catalina includes an optional Valve implementation that can create access logs in the same standard format created by web servers, or in any number of custom formats.

You can ask Catalina to create an access log for all requests processed by an Engine, Host, or Context by nesting a Valve element like this:

<Context path="/examples" ...>...<Valve className="org.apache.catalina.valves.AccessLogValve"prefix="localhost_access_log." suffix=".txt"pattern="common"/>... </Context>

See Access Log Valve for more information on the configuration attributes that are supported.

Automatic Context Configuration

If you use the standard Context implementation, the following configuration steps occur automtically when Catalina is started, or whenever this web application is reloaded. No special configuration is required to enable this feature.

  • If you have not declared your own Loader element, a standard web application class loader will be configured.
  • If you have not declared your own Manager element, a standard session manager will be configured.
  • If you have not declared your own Resources element, a standard resources manager will be configured.
  • The web application properties listed in conf/web.xml will be processed as defaults for this web application. This is used to establish default mappings (such as mapping the *.jsp extension to the corresponding JSP servlet), and other standard features that apply to all web applications.
  • The web application properties listed in the /WEB-INF/web.xml resource for this web application will be processed (if this resource exists).
  • If your web application has specified security constraints that might require user authentication, an appropriate Authenticator that implements the login method you have selected will be configured.
Context Parameters

You can configure named values that will be made visible to the web application as servlet context initialization parameters by nesting <Parameter> elements inside this element. For example, you can create an initialization parameter like this:

<Context ...>...<Parameter name="companyName" value="My Company, Incorporated"override="false"/>... </Context>

This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):

<context-param><param-name>companyName</param-name><param-value>My Company, Incorporated</param-value> </context-param>

but does not require modification of the deployment descriptor to customize this value.

The valid attributes for a <Parameter> element are as follows:

AttributeDescription
description

Optional, human-readable description of this context initialization parameter.

name

The name of the context initialization parameter to be created.

override

Set this to false if you do not want a <context-param> for the same parameter name, found in the web application deployment descriptor, to override the value specified here. By default, overrides are allowed.

value

The parameter value that will be presented to the application when requested by calling ServletContext.getInitParameter().

Environment Entries

You can configure named values that will be made visible to the web application as environment entry resources, by nesting <Environment> entries inside this element. For example, you can create an environment entry like this:

<Context ...>...<Environment name="maxExemptions" value="10"type="java.lang.Integer" override="false"/>... </Context>

This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):

<env-entry><env-entry-name>maxExemptions</param-name><env-entry-value>10</env-entry-value><env-entry-type>java.lang.Integer</env-entry-type> </env-entry>

but does not require modification of the deployment descriptor to customize this value.

The valid attributes for an <Environment> element are as follows:

AttributeDescription
description

Optional, human-readable description of this environment entry.

name

The name of the environment entry to be created, relative to the java:comp/env context.

override

Set this to false if you do not want an <env-entry> for the same environment entry name, found in the web application deployment descriptor, to override the value specified here. By default, overrides are allowed.

type

The fully qualified Java class name expected by the web application for this environment entry. Must be one of the legal values for <env-entry-type> in the web application deployment descriptor: java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Float, java.lang.Integer, java.lang.Long, java.lang.Short, or java.lang.String.

value

The parameter value that will be presented to the application when requested from the JNDI context. This value must be convertable to the Java type defined by the type attribute.

Lifecycle Listeners

If you have implemented a Java object that needs to know when this Context is started or stopped, you can declare it by nesting a Listener element inside this element. The class name you specify must implement the org.apache.catalina.LifecycleListener interface, and it will be notified about the occurrence of the coresponding lifecycle events. Configuration of such a listener looks like this:

<Context path="/examples" ...>...<Listener className="com.mycompany.mypackage.MyListener" ... >... </Context>

Note that a Listener can have any number of additional properties that may be configured from this element. Attribute names are matched to corresponding JavaBean property names using the standard property method naming patterns.

Request Filters

You can ask Catalina to check the IP address, or host name, on every incoming request directed to the surrounding Engine, Host, or Context element. The remote address or name will be checked against a configured list of "accept" and/or "deny" filters, which are defined using the Regular Expression syntax supported by the Jakarta Regexp regular expression library. Requests that come from locations that are not accepted will be rejected with an HTTP "Forbidden" error. Example filter declarations:

<Context path="/examples" ...>...<Valve className="org.apache.catalina.valves.RemoteHostValve"allow="*.mycompany.com,www.yourcompany.com"/><Valve className="org.apache.catalina.valves.RemoteAddrValve"deny="192.168.1.*"/>... </Context>

See Remote Address Filter and Remote Host Filter for more information about the configuration options that are supported.

Resource Definitions

You can declare the characteristics of the resource to be returned for JNDI lookups of <resource-ref> and <resource-env-ref> elements in the web application deployment descriptor. You MUST also define the needed resource parameters as attributes of the Resource element, to configure the object factory to be used (if not known to Tomcat already), and the properties used to configure that object factory.

For example, you can create a resource definition like this:

<Context ...>...<Resource name="jdbc/EmployeeDB" auth="Container"type="javax.sql.DataSource"description="Employees Database for HR Applications"/>... </Context>

This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):

<resource-ref><description>Employees Database for HR Applications</description><res-ref-name>jdbc/EmployeeDB</res-ref-name><res-ref-type>javax.sql.DataSource</res-ref-type><res-auth>Container</res-auth> </resource-ref>

but does not require modification of the deployment descriptor to customize this value.

The valid attributes for a <Resource> element are as follows:

AttributeDescription
auth

Specify whether the web Application code signs on to the corresponding resource manager programatically, or whether the Container will sign on to the resource manager on behalf of the application. The value of this attribute must be Application or Container. This attribute is required if the web application will use a <resource-ref> element in the web application deployment descriptor, but is optional if the application uses a <resource-env-ref> instead.

description

Optional, human-readable description of this resource.

name

The name of the resource to be created, relative to the java:comp/env context.

scope

Specify whether connections obtained through this resource manager can be shared. The value of this attribute must be Shareable or Unshareable. By default, connections are assumed to be shareable.

type

The fully qualified Java class name expected by the web application when it performs a lookup for this resource.

Resource Links

This element is used to create a link to a global JNDI resource. Doing a JNDI lookup on the link name will then return the linked global resource.

For example, you can create a resource link like this:

<Context ...>...<ResourceLink name="linkToGlobalResource"global="simpleValue"type="java.lang.Integer"... </Context>

The valid attributes for a <ResourceLink> element are as follows:

AttributeDescription
global

The name of the linked global resource in the global JNDI context.

name

The name of the resource link to be created, relative to the java:comp/env context.

type

The fully qualified Java class name expected by the web application when it performs a lookup for this resource link.

Transaction

You can declare the characteristics of the UserTransaction to be returned for JNDI lookup for java:comp/UserTransaction. You MUST define an object factory class to instantiate this object as well as the needed resource parameters as attributes of the Transaction element, and the properties used to configure that object factory.

The valid attributes for the <Transaction> element are as follows:

AttributeDescription
factory

The class name for the JNDI object factory.

The Engine Container


print-friendly
version
Introduction

The Engine element represents the entire request processing machinery associated with a particular Catalina Service. It receives and processes all requests from one or more Connectors, and returns the completed response to the Connector for ultimate transmission back to the client.

Exactly one Engine element MUST be nested inside a Service element, following all of the corresponding Connector elements associated with this Service.

Attributes
Common Attributes

Engine的所有實現支持下列屬性:

AttributeDescription
backgroundProcessorDelay

This value represents the delay in seconds between the invocation of the backgroundProcess method on this engine and its child containers, including all hosts and contexts. Child containers will not be invoked if their delay value is not negative (which would mean they are using their own processing thread). Setting this to a positive value will cause a thread to be spawn. After waiting the specified amount of time, the thread will invoke the backgroundProcess method on this engine and all its child containers. If not specified, the default value for this attribute is 10, which represent a 10 seconds delay.

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Engine interface. If not specified, the standard value (defined below) will be used.

defaultHost

The default host name, which identifies the Host that will process requests directed to host names on this server, but which are not configured in this configuration file. This name MUST match the name attributes of one of the Host elements nested immediately inside.

jvmRoute

Identifier which must be used in load balancing scenarios to enable session affinity. The identifier, which must be unique across all Tomcat 5 servers which participate in the cluster, will be appended to the generated session identifier, therefore allowing the front end proxy to always forward a particular session to the same Tomcat 5 instance.

name

Logical name of this Engine, used in log and error messages. When using muliple Service elements in the same Server, each Engine MUST be assigned a unique name.

Standard Implementation

The standard implementation of Engine is org.apache.catalina.core.StandardEngine. It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
Nested Components

You can nest one or more Host elements inside this Engine element, each representing a different virtual host associated with this server. At least one Host is required, and one of the nested Hosts MUST have a name that matches the name specified for the defaultHost attribute, listed above.

You can nest at most one instance of the following utility components by nesting a corresponding element inside your Engine element:

  • Realm - Configure a realm that will allow its database of users, and their associated roles, to be shared across all Hosts and Contexts nested inside this Engine, unless overridden by a Realm configuration at a lower level.
Special Features
Logging

An engine is associated with the org.apache.catalina.core.ContainerBase.[enginename] log category. Note that the brackets are actually part of the name, don't omit them.

Access Logs

When you run a web server, one of the output files normally generated is an access log, which generates one line of information for each request processed by the server, in a standard format. Catalina includes an optional Valve implementation that can create access logs in the same standard format created by web servers, or in any number of custom formats.

You can ask Catalina to create an access log for all requests processed by an Engine, Host, or Context by nesting a Valve element like this:

<Engine name="Standalone" ...>...<Valve className="org.apache.catalina.valves.AccessLogValve"prefix="catalina_access_log." suffix=".txt"pattern="common"/>... </Engine>

See Access Log Valve for more information on the configuration attributes that are supported.

Lifecycle Listeners

If you have implemented a Java object that needs to know when this Engine is started or stopped, you can declare it by nesting a Listener element inside this element. The class name you specify must implement the org.apache.catalina.LifecycleListener interface, and it will be notified about the occurrence of the coresponding lifecycle events. Configuration of such a listener looks like this:

<Engine name="Standalone" ...>...<Listener className="com.mycompany.mypackage.MyListener" ... >... </Engine>

Note that a Listener can have any number of additional properties that may be configured from this element. Attribute names are matched to corresponding JavaBean property names using the standard property method naming patterns.

Request Filters

You can ask Catalina to check the IP address, or host name, on every incoming request directed to the surrounding Engine, Host, or Context element. The remote address or name will be checked against a configured list of "accept" and/or "deny" filters, which are defined using the Regular Expression syntax supported by the Jakarta Regexp regular expression library. Requests that come from locations that are not accepted will be rejected with an HTTP "Forbidden" error. Example filter declarations:

<Engine name="Standalone" ...>...<Valve className="org.apache.catalina.valves.RemoteHostValve"allow="*.mycompany.com,www.yourcompany.com"/><Valve className="org.apache.catalina.valves.RemoteAddrValve"deny="192.168.1.*"/>... </Engine>

See Remote Address Filter and Remote Host Filter for more information about the configuration options that are supported.

The Host Container


print-friendly
version
Introduction

The Host element represents a virtual host, which is an association of a network name for a server (such as "www.mycompany.com" with the particular server on which Catalina is running. In order to be effective, this name must be registered in the Domain Name Service (DNS) server that manages the Internet domain you belong to - contact your Network Administrator for more information.

In many cases, System Administrators wish to associate more than one network name (such as www.mycompany.com and company.com) with the same virtual host and applications. This can be accomplished using the Host Name Aliases feature discussed below.

One or more Host elements are nested inside an Engine element. Inside the Host element, you can nest Context elements for the web applications associated with this virtual host. Exactly one of the Hosts associated with each Engine MUST have a name matching the defaultHost attribute of that Engine.

在下面的描述中使用變量名$CATALINA_HOME來代指Tomcat5所安裝的目錄地址,這是一個基礎目錄(base directory),其他的相關路徑由它而派生。不過,如果你已經把Tomcat設置成多個體實例(multiple instances),并且設立了一個$CATALINA_BASE目錄,那么你就應使用$CATALINA_BASE而不是$CATALINA_HOME作為參照。

Attributes
Common Attributes

Host的所有實現支持下列屬性:

AttributeDescription
appBase

The Application Base directory for this virtual host. This is the pathname of a directory that may contain web applications to be deployed on this virtual host. You may specify an absolute pathname for this directory, or a pathname that is relative to the $CATALINA_BASE directory. See Automatic Application Deployment for more information on automatic recognition and deployment of web applications to be deployed automatically.

autoDeploy

This flag value indicates if new web applications, dropped in to the appBase directory while Tomcat is running, should be automatically deployed. The flag's value defaults to true. See Automatic Application Deployment for more information.

backgroundProcessorDelay

This value represents the delay in seconds between the invocation of the backgroundProcess method on this host and its child containers, including all contexts. Child containers will not be invoked if their delay value is not negative (which would mean they are using their own processing thread). Setting this to a positive value will cause a thread to be spawn. After waiting the specified amount of time, the thread will invoke the backgroundProcess method on this host and all its child containers. A host will use background processing to perform live web application deployment related tasks. If not specified, the default value for this attribute is -1, which means the host will rely on the background processing thread of its parent engine.

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Host interface. If not specified, the standard value (defined below) will be used.

deployOnStartup

This flag value indicates if web applications from this host should be automatically deployed by the host configurator. The flag's value defaults to true. See Automatic Application Deployment for more information.

name

Network name of this virtual host, as registered in your Domain Name Service server. One of the Hosts nested within an Engine MUST have a name that matches the defaultHost setting for that Engine. See Host Name Aliases for information on how to assign more than one network name to the same virtual host.

Standard Implementation

The standard implementation of Host is org.apache.catalina.core.StandardHost. It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
deployXML

Set to false if you want to disable parsing the context.xml file embedded inside the application (located at /META-INF/context.xml). Security consious environments should set this to false to prevent applications from interacting with the container's configuration. The administrator will then be responsible for providing an external context configuration file, and put it in $CATALINA_HOME/conf/[enginename]/[hostname]/. The flag's value defaults to true.

errorReportValveClass

Java class name of the error reporting valve which will be used by this Host. The responsability of this valve is to output error reports. Setting this property allows to customize the look of the error pages which will be generated by Tomcat. This class must implement the org.apache.catalina.Valve interface. If none is specified, the value org.apache.catalina.valves.ErrorReportValve will be used by default.

unpackWARs

Set to true if you want web applications that are placed in the appBase directory as web application archive (WAR) files to be unpacked into a corresponding disk directory structure, false to run such web applications directly from a WAR file. See Automatic Application Deployment for more information.

workDir

Pathname to a scratch directory to be used by applications for this Host. Each application will have its own sub directory with temporary read-write use. Configuring a Context workDir will override use of the Host workDir configuration. This directory will be made visible to servlets in the web application by a servlet context attribute (of type java.io.File) named javax.servlet.context.tempdir as described in the Servlet Specification. If not specified, a suitable directory underneath $CATALINA_HOME/work will be provided.

Nested Components

You can nest one or more Context elements inside this Host element, each representing a different web application associated with this virtual host.

You can nest at most one instance of the following utility components by nesting a corresponding element inside your Host element:

  • Realm - Configure a realm that will allow its database of users, and their associated roles, to be shared across all Contexts nested inside this Host (unless overridden by a Realm configuration at a lower level).
Special Features
Logging

A host is associated with the org.apache.catalina.core.ContainerBase.[enginename].[hostname] log category. Note that the brackets are actuall part of the name, don't omit them.

Access Logs

When you run a web server, one of the output files normally generated is an access log, which generates one line of information for each request processed by the server, in a standard format. Catalina includes an optional Valve implementation that can create access logs in the same standard format created by web servers, or in any number of custom formats.

You can ask Catalina to create an access log for all requests processed by an Engine, Host, or Context by nesting a Valve element like this:

<Host name="localhost" ...>...<Valve className="org.apache.catalina.valves.AccessLogValve"prefix="localhost_access_log." suffix=".txt"pattern="common"/>... </Host>

See Access Log Valve for more information on the configuration attributes that are supported.

Automatic Application Deployment

If you are using the standard Host implementation, the following actions take place automatically when Catalina is first started, if the deployOnStartup property is set to true (which is the default value):

  • Any XML file in the $CATALINA_HOME/conf/[engine_name]/[host_name] directory is assumed to contain a Context element (and its associated subelements) for a single web application. The docBase attribute of this <Context> element will typically be the absolute pathname to a web application directory, or the absolute pathname of a web application archive (WAR) file (which will not be expanded).
  • Any web application archive file within the application base (appBase) directory that does not have a corresponding directory of the same name (without the ".war" extension) will be automatically expanded, unless the unpackWARs property is set to false. If you redeploy an updated WAR file, be sure to delete the expanded directory when restarting Tomcat, so that the updated WAR file will be re-expanded (note that the auto deployer, if enabled, will automatically expand the updated WAR file once the previously expanded directory is removed).
  • Any subdirectory within the application base directory that appears to be an unpacked web application (that is, it contains a /WEB-INF/web.xml file) will receive an automatically generated Context element, even if this directory is not mentioned in the conf/server.xml file. This generated Context entry will be configured according to the defaults configured for this Host element. The context path for this deployed Context will be a slash character ("/") followed by the directory name, unless the directory name is ROOT, in which case the context path will be an empty string ("").

In addition to the automatic deployment that occurs at startup time, you can also request that new XML configuration files, WAR files, or subdirectories (containing web applications) that are dropped in to the appBase (or $CATALINA_HOME/conf/[engine_name]/[host_name] in the case of an XML configuration file) directory while Tomcat is running will be automatically deployed, according to the rules described above. The auto deployer will also track web applications for the following changes:

  • An update to the WEB-INF/web.xml file will trigger a reload of the web application
  • An update to a WAR which has been expanded will trigger an undeploy (with a removal of the expanded webapp), followed by a deployment
  • An update to a XML configuration file will trigger an undeploy (without the removal of any expanded directory), followed by a deployment of the associated web application

When using automatic deployment, the docBase defined by an XML Context file should be outside of the appBase directory. If this is not the case difficulties may be experienced deploying the web application or the application may be deployed twice.

Finally, note that if you are defining contexts explicitly, you should probably turn off automatic application deployment. Otherwise, your context will be deployed twice each, and that may cause problems for your app.

Host Name Aliases

In many server environments, Network Administrators have configured more than one network name (in the Domain Name Service (DNS) server), that resolve to the IP address of the same server. Normally, each such network name would be configured as a separate Host element in conf/server.xml, each with its own set of web applications.

However, in some circumstances, it is desireable that two or more network names should resolve to the same virtual host, running the same set of applications. A common use case for this scenario is a corporate web site, where it is desireable that users be able to utilize either www.mycompany.com or company.com to access exactly the same content and applications.

This is accomplished by utilizing one or more Alias elements nested inside your Host element. For example:

<Host name="www.mycompany.com" ...>...<Alias>mycompany.com</Alias>... </Host>

In order for this strategy to be effective, all of the network names involved must be registered in your DNS server to resolve to the same computer that is running this instance of Catalina.

Lifecycle Listeners

If you have implemented a Java object that needs to know when this Host is started or stopped, you can declare it by nesting a Listener element inside this element. The class name you specify must implement the org.apache.catalina.LifecycleListener interface, and it will be notified about the occurrence of the coresponding lifecycle events. Configuration of such a listener looks like this:

<Host name="localhost" ...>...<Listener className="com.mycompany.mypackage.MyListener" ... >... </Host>

Note that a Listener can have any number of additional properties that may be configured from this element. Attribute names are matched to corresponding JavaBean property names using the standard property method naming patterns.

Request Filters

You can ask Catalina to check the IP address, or host name, on every incoming request directed to the surrounding Engine, Host, or Context element. The remote address or name will be checked against a configured list of "accept" and/or "deny" filters, which are defined using the Regular Expression syntax supported by the Jakarta Regexp regular expression library. Requests that come from locations that are not accepted will be rejected with an HTTP "Forbidden" error. Example filter declarations:

<Host name="localhost" ...>...<Valve className="org.apache.catalina.valves.RemoteHostValve"allow="*.mycompany.com,www.yourcompany.com"/><Valve className="org.apache.catalina.valves.RemoteAddrValve"deny="192.168.1.*"/>... </Host>

See Remote Address Filter and Remote Host Filter for more information about the configuration options that are supported.

Single Sign On

In many environments, but particularly in portal environments, it is desireable to have a user challenged to authenticate themselves only once over a set of web applications deployed on a particular virtual host. This can be accomplished by nesting an element like this inside the Host element for this virtual host:

<Host name="localhost" ...>...<Valve className="org.apache.catalina.authenticator.SingleSignOn"debug="0"/>... </Host>

The Single Sign On facility operates according to the following rules:

  • All web applications configured for this virtual host must share the same Realm. In practice, that means you can nest the Realm element inside this Host element (or the surrounding Engine element), but not inside a Context element for one of the involved web applications.
  • As long as the user accesses only unprotected resources in any of the web applications on this virtual host, they will not be challenged to authenticate themselves.
  • As soon as the user accesses a protected resource in any web application associated with this virtual host, the user will be challenged to authenticate himself or herself, using the login method defined for the web application currently being accessed.
  • Once authenticated, the roles associated with this user will be utilized for access control decisions across all of the associated web applications, without challenging the user to authenticate themselves to each application individually.
  • As soon as the user logs out of one web application (for example, by invalidating the corresponding session if form based login is used), the user's sessions in all web applications will be invalidated. Any subsequent attempt to access a protected resource in any application will require the user to authenticate himself or herself again.
  • The Single Sign On feature utilizes HTTP cookies to transmit a token that associates each request with the saved user identity, so it can only be utilized in client environments that support cookies.
User Web Applications

Many web servers can automatically map a request URI starting with a tilde character ("~") and a username to a directory (commonly named public_html) in that user's home directory on the server. You can accomplish the same thing in Catalina by using a special Listener element like this (on a Unix system that uses the /etc/passwd file to identify valid users):

<Host name="localhost" ...>...<Listener className="org.apache.catalina.startup.UserConfig"directoryName="public_html"userClass="org.apache.catalina.startup.PasswdUserDatabase"/>... </Host>

On a server where /etc/passwd is not in use, you can request Catalina to consider all directories found in a specified base directory (such as c:\Homes in this example) to be considered "user home" directories for the purposes of this directive:

<Host name="localhost" ...>...<Listener className="org.apache.catalina.startup.UserConfig"directoryName="public_html"homeBase=c:\Homes"userClass="org.apache.catalina.startup.HomesUserDatabase"/>... </Host>

If a user home directory has been set up for a user named craigmcc, then its contents will be visible from a client browser by making a request to a URL like:

http://www.mycompany.com:8080/~craigmcc

Successful use of this feature requires recognition of the following considerations:

  • Each user web application will be deployed with characteristics established by any defaults you have configured for this Host.
  • It is legal to include more than one instance of this Listener element. This would only be useful, however, in circumstances where you wanted to configure more than one "homeBase" directory.
  • The operating system username under which Catalina is executed MUST have read access to each user's web application directory, and all of its contents.

The GlobalNamingResources Component


print-friendly
version
Introduction

The GlobalNamingResources element defines the global JNDI resources for the Server.

These resources are listed in the server's global JNDI resource context. This context is distinct from the per-web-application JNDI contexts described in the JNDI Resources HOW-TO. The resources defined in this element are not visible in the per-web-application contexts unless you explicitly link them with <ResourceLink> elements.

Attributes
Nested Components
Special Features
Environment Entries

You can configure named values that will be made visible to all web applications as environment entry resources by nesting <Environment> entries inside this element. For example, you can create an environment entry like this:

<GlobalNamingResources ...>...<Environment name="maxExemptions" value="10"type="java.lang.Integer" override="false"/>... </GlobalNamingResources>

This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):

<env-entry><env-entry-name>maxExemptions</env-entry-name><env-entry-value>10</env-entry-value><env-entry-type>java.lang.Integer</env-entry-type> </env-entry>

but does not require modification of the deployment descriptor to customize this value.

The valid attributes for an <Environment> element are as follows:

AttributeDescription
description

Optional, human-readable description of this environment entry.

name

The name of the environment entry to be created, relative to the java:comp/env context.

override

Set this to false if you do not want an <env-entry> for the same environment entry name, found in the web application deployment descriptor, to override the value specified here. By default, overrides are allowed.

type

The fully qualified Java class name expected by the web application for this environment entry. Must be one of the legal values for <env-entry-type> in the web application deployment descriptor: java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.Double, java.lang.Float, java.lang.Integer, java.lang.Long, java.lang.Short, or java.lang.String.

value

The parameter value that will be presented to the application when requested from the JNDI context. This value must be convertable to the Java type defined by the type attribute.

Resource Definitions

You can declare the characteristics of resources to be returned for JNDI lookups of <resource-ref> and <resource-env-ref> elements in the web application deployment descriptor by defining them in this element and then linking them with <ResourceLink> elements in the <Context> element. You MUST also define any other needed parameters using attributes on the Resource element, to configure the object factory to be used (if not known to Tomcat already), and the properties used to configure that object factory.

For example, you can create a resource definition like this:

<GlobalNamingResources ...>...<Resource name="jdbc/EmployeeDB" auth="Container"type="javax.sql.DataSource"description="Employees Database for HR Applications"/>... </GlobalNamingResources>

This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):

<resource-ref><description>Employees Database for HR Applications</description><res-ref-name>jdbc/EmployeeDB</res-ref-name><res-ref-type>javax.sql.DataSource</res-ref-type><res-auth>Container</res-auth> </resource-ref>

but does not require modification of the deployment descriptor to customize this value.

The valid attriutes for a <Resource> element are as follows:

AttributeDescription
auth

Specify whether the web Application code signs on to the corresponding resource manager programatically, or whether the Container will sign on to the resource manager on behalf of the application. The value of this attribute must be Application or Container. This attribute is required if the web application will use a <resource-ref> element in the web application deployment descriptor, but is optional if the application uses a <resource-env-ref> instead.

description

Optional, human-readable description of this resource.

name

The name of the resource to be created, relative to the java:comp/env context.

scope

Specify whether connections obtained through this resource manager can be shared. The value of this attribute must be Shareable or Unshareable. By default, connections are assumed to be shareable.

type

The fully qualified Java class name expected by the web application when it performs a lookup for this resource.

Resource Links

Use <ResourceLink> elements to link resources from the global context into per-web-application contexts. Here is an example of making a custom factory available to a web applications, based on the example definition in the JNDI Resource HOW-TO:

<Context><ResourceLink name="bean/MyBeanFactory"global="bean/MyBeanFactory"type="com.mycompany.MyBean"/></Context>
Transaction

You can declare the characteristics of the UserTransaction to be returned for JNDI lookup for java:comp/UserTransaction. You MUST define an object factory class to instantiate this object as well as the needed resource parameters as attributes of the Transaction element, and the properties used to configure that object factory.

The valid attributes for the <Transaction> element are as follows:

AttributeDescription
factory

The class name for the JNDI object factory.

The Loader Component


print-friendly
version
Introduction

The Loader element represents the web application class loader that will be used to load Java classes and resources for your web application. Such a class loader must follow the requirements of the Servlet Specification, and load classes from the following locations:

  • From the /WEB-INF/classes directory inside your web application.
  • From JAR files in the /WEB-INF/lib directory inside your web application.
  • From resources made available by Catalina to all web applications globally.

A Loader element MAY be nested inside a Context component. If it is not included, a default Loader configuration will be created automatically, which is sufficient for most requirements.

For a more in-depth description of the class loader hierarchy that is implemented by Catalina, see the ClassLoader HowTo.

在下面的描述中使用變量名$CATALINA_HOME來代指Tomcat5所安裝的目錄地址,這是一個基礎目錄(base directory),其他的相關路徑由它而派生。不過,如果你已經把Tomcat設置成多個體實例(multiple instances),并且設立了一個$CATALINA_BASE目錄,那么你就應使用$CATALINA_BASE而不是$CATALINA_HOME作為參照。

Attributes
Common Attributes

Loader的所有實現支持下列屬性:

AttributeDescription
className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Loader interface. If not specified, the standard value (defined below) will be used.

delegate

Set to true if you want the class loader to follow the standard Java2 delegation model, and attempt to load classes from parent class loaders before looking inside the web application. Set to false (the default) to have the class loader look inside the web application first, before asking parent class loaders to find requested classes or resources.

reloadable

Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. You can use the Manager web application, however, to trigger reloads of deployed applications on demand.

NOTE - The value for this property will be inherited from the reloadable attribute you set on the surrounding Context component, and any value you explicitly set here will be replaced.

Standard Implementation

The standard implementation of Loader is org.apache.catalina.loader.WebappLoader. It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
backgroundProcesssorDelay

The number of seconds between checks for modified classes and resources, if reloadable has been set to true.

See the general documentation for this parameter at Host Container.

loaderClass

Java class name of the java.lang.ClassLoader implementation class to use. If not specified, the default value is org.apache.catalina.loader.WebappClassLoader.

useSystemClassLoaderAsParent

If no parent classloader is specified, should the system classloader be used? The default of true mantains backwards compatibility with previous releases however most users will want to set this to false to obtain the parent classloader from the associated container.

This attribute will not be present in Tomcat 6 where the Loader API has changed and the parent class loader is always obtained from the associated container.

Nested Components

No components may be nested inside a Loader element.

Special Features
Logging

A loader is associated with the log category based on its classname.

The Manager Component


print-friendly
version
Introduction

The Manager element represents the session manager that will be used to create and maintain HTTP sessions as requested by the associated web application.

A Manager element MAY be nested inside a Context component. If it is not included, a default Manager configuration will be created automatically, which is sufficient for most requirements.

Attributes
Common Attributes

Manager的所有實現支持下列屬性:

AttributeDescription
className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Manager interface. If not specified, the standard value (defined below) will be used.

distributable

Set to true to ask the session manager to enforce the restrictions described in the Servlet Specification on distributable applications (primarily, this would mean that all session attributes must implement java.io.Serializable). Set to false (the default) to not enforce these restrictions.

NOTE - The value for this property is inherited automatically based on the presence or absence of the <distributable> element in the web application deployment descriptor (/WEB-INF/web.xml).

Standard Implementation

Tomcat provides two standard implementations of Manager for use - the default one stores active sessions, while the optional one stores active sessions that have been swapped out (in addition to saving sessions across a restart of Tomcat) in a storage location that is selected via the use of an appropriate Store nested element.

Standard Manager Implementation

The standard implementation of Manager is org.apache.catalina.session.StandardManager. It supports the following additional attributes (in addition to the common attributes listed above):

AttributeDescription
algorithm

Name of the Message Digest algorithm used to calculate session identifiers produced by this Manager. This value must be supported by the java.security.MessageDigest class. If not specified, the default value is "MD5".

entropy

A String value that is utilized when seeding the random number generator used to create session identifiers for this Manager. If not specified, a semi-useful value is calculated, but a long String value should be specified in security-conscious environments.

maxActiveSessions

The maximum number of active sessions that will be created by this Manager, or -1 (the default) for no limit.

maxInactiveInterval

The initial maximum time interval, in seconds, between client requests before a session is invalidated. A negative value will result in sessions never timing out. If the attribute is not provided, a default of 60 seconds is used.

This attribute provides the initial value whenever a new session is created, but the interval may be dynamically varied by a servlet via the setMaxInactiveInterval method of the HttpSession object.

pathname

Absolute or relative (to the work directory for this Context) pathname of the file in which session state will be preserved across application restarts, if possible. The default is "SESSIONS.ser". See Restart Persistence for more information. Restart persistence may be disabled by setting this attribute to an empty string.

processExpiresFrequency

Frequency of the session expiration, and related manager operations. Manager operations will be done once for the specified amount of backgrondProcess calls (ie, the lower the amount, the more often the checks will occur). The minimum value is 1, and the default value is 6.

randomClass

Java class name of the java.util.Random implementation class to use. If not specified, the default value is java.security.SecureRandom.

sessionIdLength

The length of session ids created by this Manager, excluding any JVM route information used for load balancing. The default is 16.

Persistent Manager Implementation

WARNING - Use of this Manager implementation has not been thoroughly tested, and should be considered experimental!

The persistent implementation of Manager is org.apache.catalina.session.PersistentManager. In addition to the usual operations of creating and deleting sessions, a PersistentManager has the capability to swap active (but idle) sessions out to a persistent storage mechanism, as well as to save all sessions across a normal restart of Tomcat. The actual persistent storage mechanism used is selected by your choice of a Store element nested inside the Manager element - this is required for use of PersistentManager.

This implementation of Manager supports the following attributes in addition to the Common Attributes described earlier.

AttributeDescription
algorithm

Name of the Message Digest algorithm used to calculate session identifiers produced by this Manager. This value must be supported by the java.security.MessageDigest class. If not specified, the default value is "MD5".

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Manager interface. You must specify org.apache.catalina.session.PersistentManager to use this manager implementation.

entropy

A String value that is utilized when seeding the random number generator used to create session identifiers for this Manager. If not specified, a semi-useful value is calculated, but a long String value should be specified in security-conscious environments.

maxActiveSessions

The maximum number of active sessions that will be created by this Manager, or -1 (the default) for no limit.

maxIdleBackup

The time interval (in seconds) since the last access to a session before it is eligible for being persisted to the session store, or -1 to disable this feature. By default, this feature is disabled.

maxIdleSwap

The time interval (in seconds) since the last access to a session before it should be persisted to the session store, and passivated out of the server's memory, or -1 to disable this feature. If this feature is enabled, the time interval specified here should be equal to or longer than the value specified for maxIdleBackup. By default, this feature is disabled.

minIdleSwap

The time interval (in seconds) since the last access to a session before it will be eligible to be persisted to the session store, and passivated out of the server's memory, or -1 for this swapping to be available at any time. If specified, this value should be less than that specified by maxIdleSwap. By default, this value is set to -1.

maxInactiveInterval

The initial maximum time interval, in seconds, between client requests before a session is invalidated. A negative value will result in sessions never timing out. If the attribute is not provided, a default of 60 seconds is used.

This attribute provides the initial value whenever a new session is created, but the interval may be dynamically varied by a servlet via the setMaxInactiveIntervalmethod of the HttpSession object.

randomClass

Java class name of the java.util.Random implementation class to use. If not specified, the default value is java.security.SecureRandom.

saveOnRestart

Should all sessions be persisted and reloaded when Tomcat is shut down and restarted (or when this application is reloaded)? By default, this attribute is set to true.

sessionIdLength

The length of session ids created by this Manager, excluding any JVM route information used for load balancing. The default is 16.

In order to successfully use a PersistentManager, you must nest inside it a <Store> element, as described below.

Nested Components

Standard Manager Implementation

If you are using the Standard Manager Implementation as described above, no elements may be nested inside your <Manager> element.

Persistent Manager Implementation

If you are using the Persistent Manager Implementation as described above, you MUST nest a <Store> element inside, which defines the characteristics of the persistent data storage. Two implementations of the <Store> element are currently available, with different characteristics, as described belowl

File Based Store

The File Based Store implementation saves swapped out sessions in individual files (named based on the session identifier) in a configurable directory. Therefore, you are likely to encounter scalability problems as the number of active sessions increases, and this should primarily be considered a means to easily experiment.

To configure this, add a <Store> nested inside your <Manager> element with the following attributes:

AttributeDescription
checkInterval

The interval (in seconds) between checks for expired sessions among those sessions that are currently swapped out. By default, this interval is set to 60 seconds (one minute).

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Store interface. You must specify org.apache.catalina.session.FileStore to use this implementation.

directory

Absolute or relative (to the temporary work directory for this web application) pathname of the directory into which individual session files are written. If not specified, the temporary work directory assigned by the container is utilized.

JDBC Based Store

The JDBC Based Store implementation saves swapped out sessions in individual rows of a preconfigured table in a database that is accessed via a JDBC driver. With large numbers of swapped out sessions, this implementation will exhibit improved performance over the File Based Store described above.

To configure this, add a <Store> nested inside your <Manager> element with the following attributes:

AttributeDescription
checkInterval

The interval (in seconds) between checks for expired sessions among those sessions that are currently swapped out. By default, this interval is set to 60 seconds (one minute).

className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Store interface. You must specify org.apache.catalina.session.JDBCStore to use this implementation.

connectionURL

The connection URL that will be handed to the configured JDBC driver to establish a connection to the database containing our session table.

driverName

Java class name of the JDBC driver to be used.

sessionAppCol

Name of the database column, contained in the specified session table, that contains the Engine, Host, and Web Application Context name in the format /Engine/Host/Context.

sessionDataCol

Name of the database column, contained in the specified session table, that contains the serialized form of all session attributes for a swapped out session. The column type must accept a binary object (typically called a BLOB).

sessionIdCol

Name of the database column, contained in the specified session table, that contains the session identifier of the swapped out session. The column type must accept character string data of at least as many characters as are contained in session identifiers created by Tomcat (typically 32).

sessionLastAccessedCol

Name of the database column, contained in the specified session table, that contains the lastAccessedTime property of this session. The column type must accept a Java long (64 bits).

sessionMaxInactiveCol

Name of the database column, contained in the specified session table, that contains the maxInactiveInterval property of this session. The column type must accept a Java integer (32 bits).

sessionTable

Name of the database table to be used for storing swapped out sessions. This table must contain (at least) the database columns that are configured by the other attributes of this element.

sessionValidCol

Name of the database column, contained in the specified session table, that contains a flag indicating whether this swapped out session is still valid or not. The column type must accept a single character.

Before attempting to use the JDBC Based Store for the first time, you must create the table that will be used to store swapped out sessions. Detailed SQL commands vary depending on the database you are using, but a script like this will generally be required:

create table tomcat_sessions (session_id varchar(100) not null primary key,valid_session char(1) not null,max_inactive int not null,last_access bigint not null,app_name varchar(255),session_data mediumblob,KEY kapp_name(app_name) );

In order for the JDBC Based Store to successfully connect to your database, the JDBC driver you configure must be visible to Tomcat's internal class loader. Generally, that means you must place the JAR file containing this driver into the $CATALINA_HOME/server/lib directory (if your applications do not also need it) or into the $CATALINA_HOME/common/lib directory (if you wish to share this driver with your web applications.

Special Features
Restart Persistence

Whenver Catalina is shut down normally and restarted, or when an application reload is triggered, the standard Manager implementation will attempt to serialize all currently active sessions to a disk file located via the pathname attribute. All such saved sessions will then be deserialized and activated (assuming they have not expired in the mean time) when the application reload is completed.

In order to successfully restore the state of session attributes, all such attributes MUST implement the java.io.Serializable interface. You MAY cause the Manager to enforce this restriction by including the <distributable> element in your web application deployment descriptor (/WEB-INF/web.xml).

The Realm Component


print-friendly
version
Introduction

A Realm element represents a "database" of usernames, passwords, and roles (similar to Unix groups) assigned to those users. Different implementations of Realm allow Catalina to be integrated into environments where such authentication information is already being created and maintained, and then utilize that information to implement Container Managed Security as described in the Servlet Specification.

You may nest a Realm inside any Catalina container Engine, Host, or Context). In addition, Realms associated with an Engine or a Host are automatically inherited by lower-level containers, unless explicitly overridden.

For more in-depth information about container managed security in web applications, as well as more information on configuring and using the standard realm component implementations, please see the Container-Managed Security Guide.

在下面的描述中使用變量名$CATALINA_HOME來代指Tomcat5所安裝的目錄地址,這是一個基礎目錄(base directory),其他的相關路徑由它而派生。不過,如果你已經把Tomcat設置成多個體實例(multiple instances),并且設立了一個$CATALINA_BASE目錄,那么你就應使用$CATALINA_BASE而不是$CATALINA_HOME作為參照。

Attributes
Common Attributes

Realm的所有實現支持下列屬性:

AttributeDescription
className

Java class name of the implementation to use. This class must implement the org.apache.catalina.Realm interface.

digest

用來以非明文形式貯存密碼的“文摘”算法,那些被java.security.MessageDigest類里所接受的算法名稱的值才是有效的值。更多信息請參見Digested 密碼。如果沒指定,密碼以明文形式貯存。

digestEncoding

The charset for encoding digests. If not specified, the platform default will be used.

Standard Implementation

Unlike most Catalina components, there are several standard Realm implementations available. As a result, the className attribute MUST be used to select the implementation you wish to use.

JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)

The JDBC Database Realm connects Catalina to a relational database, accessed through an appropriate JDBC driver, to perform lookups of usernames, passwords, and their associated roles. Because the lookup is done each time that it is required, changes to the database will be immediately reflected in the information used to authenticate new logins.

A rich set of additional attributes lets you configure the required connection to the underlying database, as well as the table and column names used to retrieve the required information:

AttributeDescription
connectionName

The database username to use when establishing the JDBC connection.

connectionPassword

The database password to use when establishing the JDBC connection.

connectionURL

The connection URL to be passed to the JDBC driver when establishing a database connection.

driverName

Fully qualified Java class name of the JDBC driver to be used to connect to the authentication database. Consult the documentation for your JDBC driver for the appropriate value.

roleNameCol

Name of the column, in the "user roles" table, which contains a role name assigned to the corresponding user.

userCredCol

Name of the column, in the "users" table, which contains the user's credentials (i.e. password). If a value for the digest attribute is specified, this component will assume that the passwords have been encoded with the specified algorithm. Otherwise, they will be assumed to be in clear text.

userNameCol

Name of the column, in the "users" and "user roles" table, that contains the user's username.

userRoleTable

表名,它的每一行包含指派給某一特定用戶名稱的一個角色。這個表格必須至少包括那些由userNameCol和roleNameCol屬性定名的列。

userTable

表名,它的每一行包含一個可被Tomcat識別的用戶名稱。這個表格必須至少包括那些由userNameCol 和 userCredCol 屬性定名的列。

See the Container-Managed Security Guide for more information on setting up container managed security using the JDBC Database Realm component.

DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm)

The DataSource Database Realm connects Catalina to a relational database, accessed through a JNDI named JDBC DataSource to perform lookups of usernames, passwords, and their associated roles. Because the lookup is done each time that it is required, changes to the database will be immediately reflected in the information used to authenticate new logins.

The JDBC Realm uses a single db connection. This requires that realm based authentication be synchronized, i.e. only one authentication can be done at a time. This could be a bottleneck for applications with high volumes of realm based authentications.

The DataSource Database Realm supports simultaneous realm based authentications and allows the underlying JDBC DataSource to handle optimizations like database connection pooling.

A rich set of additional attributes lets you configure the name of the JNDI JDBC DataSource, as well as the table and column names used to retrieve the required information:

AttributeDescription
dataSourceName

你的數據庫需要的一個叫做JDBC DataSource的JNDI。如果這個DataSource對于上下文來說是局部的話,這個名字與java:/comp/env相關,否則這個名字應該和定義全球性DataSource的名字相映射。

localDataSource

當這個realm被套嵌在一個Context元素里邊,就允許這個realm使用為這個Context定義的DataSource,而不是全球性DataSource 。如果沒有指定,默認值是false:使用全球性DataSource 。

roleNameCol

Name of the column, in the "user roles" table, which contains a role name assigned to the corresponding user.

userCredCol

Name of the column, in the "users" table, which contains the user's credentials (i.e. password). If a value for the digest attribute is specified, this component will assume that the passwords have been encoded with the specified algorithm. Otherwise, they will be assumed to be in clear text.

userNameCol

Name of the column, in the "users" and "user roles" table, that contains the user's username.

userRoleTable

表名,它的每一行包含指派給某一特定用戶名稱的一個角色。這個表格必須至少包括那些由userNameCol和roleNameCol屬性定名的列。

userTable

表名,它的每一行包含一個可被Tomcat識別的用戶名稱。這個表格必須至少包括那些由userNameCol 和 userCredCol 屬性定名的列。

See the DataSource Realm HOW-TO for more information on setting up container managed security using the DataSource Database Realm component.

JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)

The JNDI Directory Realm connects Catalina to an LDAP Directory, accessed through an appropriate JNDI driver, that stores usernames, passwords, and their associated roles. Changes to the directory are immediately reflected in the information used to authenticate new logins.

The directory realm supports a variety of approaches to using LDAP for authentication:

  • The realm can either use a pattern to determine the distinguished name (DN) of the user's directory entry, or search the directory to locate that entry.
  • The realm can authenticate the user either by binding to the directory with the DN of the user's entry and the password presented by the user, or by retrieving the password from the user's entry and performing a comparison locally.
  • Roles may be represented in the directory as explicit entries found by a directory search (e.g. group entries of which the user is a member), as the values of an attribute in the user's entry, or both.

A rich set of additional attributes lets you configure the required behaviour as well as the connection to the underlying directory and the element and attribute names used to retrieve information from the directory:

AttributeDescription
alternateURL

If a socket connection can not be made to the provider at the connectionURL an attempt will be made to use the alternateURL.

authentication

A string specifying the type of authentication to use. "none", "simple", "strong" or a provider specific definition can be used. If no value is given the providers default is used.

connectionName

建立與LDAP search操作目錄的連接時使用的目錄用戶名。如果沒有指定,就使用無名的連接,除非你指定了userPassword屬性,通常這就足夠了。

connectionPassword

建立與LDAP search操作目錄的連接時使用的目錄密碼。如果沒有指定,就使用無名的連接,除非你指定了userPassword屬性,通常這就足夠了。

connectionURL

在建立與目錄的連接時傳遞給JNDI驅動的連接URL。

contextFactory

Fully qualified Java class name of the factory class used to acquire our JNDI InitialContext. By default, assumes that the standard JNDI LDAP provider will be utilized (com.sun.jndi.ldap.LdapCtxFactory).

derefAliases

A string specifying how aliases are to be dereferenced during search operations. The allowed values are "always", "never", "finding" and "searching". If not specified, "always" is used.

protocol

A string specifying the security protocol to use. If not given the providers default is used.

roleBase

The base directory entry for performing role searches. If not specified the top-level element in the directory context will be used.

roleName

屬性的名字,它包含被角色搜尋查找到的目錄輸入里的角色名字。另外,你可以在包含有額外的角色名字的用戶輸入里使用userRoleName property來指定一個attribute的名字。如果roleName沒有被指定,角色搜尋就不會發生,只能從用戶的輸入里得到角色。

roleSearch

用來執行角色搜尋的LDAP過濾器表達式,后面緊跟著由java.text.MessageFormat類支持的語法。使用{0}來代替用戶的獨特名字(distinguished name (DN)),并且/或者用{1}來代替用戶名(username)。如果沒有被指定,角色搜尋就不發生,角色就由userRoleName property指定的用戶輸入里的屬性來決定。

roleSubtree

在查找與用戶相關的角色輸入時,如果你想搜尋roleBase property指定的元素的整個subtree,設值為true。默認值為false,它僅僅使得頂層元素被搜尋。

userBase

通過使用userSearch表達式來執行的用戶搜尋基本元素。如果沒有指定,目錄context里的頂層元素將被使用。如果你在使用userPattern表達式,就不用使用它。

userPassword

Name of the attribute in the user's entry containing the user's password. If you specify this value, JNDIRealm will bind to the directory using the values specified by connectionName and connectionPassword properties, and retrieve the corresponding attribute for comparison to the value specified by the user being authenticated. If the digest attribute is set, the specified digest algorithm is applied to the password offered by the user before comparing it with the value retrieved from the directory. If you do not specify this value, JNDIRealm will attempt a simple bind to the directory using the DN of the user's entry and the password presented by the user, with a successful bind being interpreted as an authenticated user.

userPattern

Pattern for the distinguished name (DN) of the user's directory entry, following the syntax supported by the java.text.MessageFormat class. with {0} marking where the actual username should be inserted. You can use this property instead of userSearch, userSubtree and userBase when the distinguished name contains the username and is otherwise the same for all users.

userRoleName

用戶目錄輸入中的一個屬性名,該屬性包含了零個或多個指定給用戶的角色名稱的值。另外,可以使用roleName屬性來指定屬性名,這個屬性可以通過搜索目錄在單獨的角色輸入里得到。如果不指定userRoleName,用戶的所有角色通過角色搜索得到。

userSearch

搜索用戶目錄輸入時,使用的LDAP過濾器表達式,{0}代表實際用戶名應該在什么地方被插入。使用這個userSearch屬性(和userBase以及userSubtree屬性一起),而不是userPattern,來搜索目錄尋找用戶的輸入。

userSubtree

如果想要搜索由userBase屬性指定的元素的整個subtree,設為true,缺省值為false,即僅僅是頂級元素被搜索。如果使用userPattern表達式,則不使用這個屬性。

See the Container-Managed Security Guide for more information on setting up container managed security using the JNDI Directory Realm component.

Memory Based Realm (org.apache.catalina.realm.MemoryRealm)

The Memory Based Realm is a simple Realm implementation that reads user information from an XML format, and represents it as a collection of Java objects in memory. This implementation is intended solely to get up and running with container managed security - it is NOT intended for production use. As such, there are no mechanisms for updating the in-memory collection of users when the content of the underlying data file is changed.

The Memory Based Realm implementation supports the following additional attributes:

AttributeDescription
pathname

Absolute or relative (to $CATALINA_HOME) pathname to the XML file containing our user information. See below for details on the XML element format required. If no pathname is specified, the default value is conf/tomcat-users.xml.

The XML document referenced by the pathname attribute must conform to the following requirements:

  • The root (outer) element must be <tomcat-users>.
  • Each authorized user must be represented by a single XML element <user>, nested inside the root element.
  • Each <user> element must have the following attributes:
    • name - Username of this user (must be unique within this file).
    • password - Password of this user (in clear text).
    • roles - Comma-delimited list of the role names assigned to this user.

See the Container-Managed Security Guide for more information on setting up container managed security using the Memory Based Realm component.

User Database Realm (org.apache.catalina.realm.UserDatabaseRealm)

The User Database Realm is Realm implementation that is based on an implementation of the UserDatabase interface that is made available through the global JNDI resources configured for this Tomcat instance.

The User Database Realm implementation supports the following additional attributes:

AttributeDescription
resourceName

The global JNDI name of the UserDatabase resource used by this Realm.

See the Container-Managed Security Guide for more information on setting up container managed security using the UserDatabase Realm component.

JAAS Realm (org.apache.catalina.realm.JAASRealm)

The JAAS Realm implementation supports the following additional attributes:

AttributeDescription
appName

你在login配置文件中( JAAS LoginConfig)配置的應用程序名。

userClassNames

由逗號分隔開的,你為你的用戶Principals制作的類名列單。

roleClassNames

由逗號分隔開的,你為你的角色Principals制作的類名列單。

useContextClassLoader

Instructs JAASRealm to use the context class loader for loading the user-specified LoginModule class and associated Principal classes. The default value is true, which is backwards-compatible with the way Tomcat 4 works. To load classes using the container's classloader, specify false.

See the Container-Managed Security Guide for more information on setting up container managed security using the JASS Realm component.

Nested Components

No components may be nested inside a Realm element.

Special Features

See Single Sign On for information about configuring Single Sign On support for a virtual host.

The Resources Component


print-friendly
version
Introduction

The Resources element represents the web application static resources, from which classes will be loaded, HTML, JSP and the other static files will be served. This allows the webapp to reside on various mediums other than the filesystem, like compressed in a WAR file, in a JDBC database, or in a more advanced versioning repository.

A unified caching engine is provided for all accesses to the webapp resources made by the servlet container and web applications which use the container provided mechanisms to access such resources, such as class laoder access, access through the ServletContext interface, or native access through the DirectoryContext interface.

Note: Running a webapp with non-filesystem based Resources implementations is only possible when the webapp does not rely on direct filesystem access to its own resources, and uses the methods in the ServletContext interface to access them.

A Resources element MAY be nested inside a Context component. If it is not included, a default filesystem based Resources will be created automatically, which is sufficient for most requirements.

Attributes
Common Attributes

Resources的所有實現支持下列屬性:

AttributeDescription
className

Java class name of the implementation to use. This class must implement the javax.naming.directory.DirContext interface. It is recommended for optimal functionality and performance, but not mandatory, that the class extend org.apache.naming.resources.BaseDirContext, as well as use the special object types provided in the org.apache.naming.resources for returned objects. If not specified, the standard value (defined below) will be used.

Standard Implementation

The standard implementation of Resources is org.apache.naming.resources.FileDirContext, and is configured by its parent Context element.

Nested Components

No components may be nested inside a Resources element.

Special Features

No special features are associated with a Resources element.

The Valve Component


print-friendly
version
Introduction

A Valve element represents a component that will be inserted into the request processing pipeline for the associated Catalina container (Engine, Host, or Context). Individual Valves have distinct processing capabilities, and are described individually below.

在下面的描述中使用變量名$CATALINA_HOME來代指Tomcat5所安裝的目錄地址,這是一個基礎目錄(base directory),其他的相關路徑由它而派生。不過,如果你已經把Tomcat設置成多個體實例(multiple instances),并且設立了一個$CATALINA_BASE目錄,那么你就應使用$CATALINA_BASE而不是$CATALINA_HOME作為參照。

Access Log Valve
Introduction

The Access Log Valve creates log files in the same format as those created by standard web servers. These logs can later be analyzed by standard log analysis tools to track page hit counts, user session activity, and so on. The files produces by this Valve are rolled over nightly at midnight. This Valve may be associated with any Catalina container (Context, Host, or Engine), and will record ALL requests processed by that container.

Attributes

Access Log Valve 支持下列配置屬性:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.valves.AccessLogValve to use the default access log valve. To use a more optimized access log valve designed for production use, you MUST set this attribute to org.apache.catalina.valves.FastCommonAccessLogValve. In this case, only the common and combined patterns are supported.

directory

Absolute or relative pathname of a directory in which log files created by this valve will be placed. If a relative path is specified, it is interpreted as relative to $CATALINA_HOME. If no directory attribute is specified, the default value is "logs" (relative to $CATALINA_HOME).

pattern

A formatting layout identifying the various information fields from the request and response to be logged, or the word common or combined to select a standard format. See below for more information on configuring this attribute. Note that the optimized access does only support common and combined as the value for this attribute.

prefix

The prefix added to the start of each log file's name. If not specified, the default value is "access_log.". To specify no prefix, use a zero-length string.

resolveHosts

Set to true to convert the IP address of the remote host into the corresponding host name via a DNS lookup. Set to false to skip this lookup, and report the remote IP address instead.

suffix

The suffix added to the end of each log file's name. If not specified, the default value is "". To specify no suffix, use a zero-length string.

rotatable

Deafult true. Flag to determine if log rotation should occur. If set to false, then this file is never rotated and fileDateFormat is ignored. Use with caution!

condition

Turns on conditional logging. If set, requests will be logged only if ServletRequest.getAttribute() is null. For example, if this value is set to junk, then a particular request will only be logged if ServletRequest.getAttribute("junk") == null. The use of Filters is an easy way to set/unset the attribute in the ServletRequest on many different requests.

fileDateFormat

Allows a customized date format in the access log file name. The date format also decides how often the file is rotated. If you wish to rotate every hour, then set this value to: yyyy-MM-dd.HH

Values for the pattern attribute are made up of literal text strings, combined with pattern identifiers prefixed by the "%" character to cause replacement by the corresponding variable value from the current request and response. The following pattern codes are supported:

  • %a - Remote IP address
  • %A - Local IP address
  • %b - Bytes sent, excluding HTTP headers, or '-' if zero
  • %B - Bytes sent, excluding HTTP headers
  • %h - Remote host name (or IP address if resolveHosts is false)
  • %H - Request protocol
  • %l - Remote logical username from identd (always returns '-')
  • %m - Request method (GET, POST, etc.)
  • %p - Local port on which this request was received
  • %q - Query string (prepended with a '?' if it exists)
  • %r - First line of the request (method and request URI)
  • %s - HTTP status code of the response
  • %S - User session ID
  • %t - Date and time, in Common Log Format
  • %u - Remote user that was authenticated (if any), else '-'
  • %U - Requested URL path
  • %v - Local server name
  • %D - Time taken to process the request, in millis
  • %T - Time taken to process the request, in seconds

There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest. It is modeled after the apache syntax:

  • %{xxx}i for incoming headers
  • %{xxx}c for a specific cookie
  • %{xxx}r xxx is an attribute in the ServletRequest
  • %{xxx}s xxx is an attribute in the HttpSession

The shorthand pattern name common (which is also the default) corresponds to %h %l %u %t "%r" %s %b".

The shorthand pattern name combined appends the values of the Referer and User-Agent headers, each in double quotes, to the common pattern described in the previous paragraph.

Remote Address Filter
Introduction

The Remote Address Filter allows you to compare the IP address of the client that submitted this request against one or more regular expressions, and either allow the request to continue or refuse to process the request from this client. A Remote Address Filter can be associated with any Catalina container (Engine, Host, or Context), and must accept any request presented to this container for processing before it will be passed on.

The syntax for regular expressions is different than that for 'standard' wildcard matching. Tomcat uses the Jakarta Regexp library. Please consult the Regexp documentation for details of the expressions supported.

Attributes

Remote Address Filter 支持下列配置屬性:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.valves.RemoteAddrValve.

allow

A comma-separated list of regular expression patterns that the remote client's IP address is compared to. If this attribute is specified, the remote address MUST match for this request to be accepted. If this attribute is not specified, all requests will be accepted UNLESS the remote address matches a deny pattern.

deny

A comma-separated list of regular expression patterns that the remote client's IP address is compared to. If this attribute is specified, the remote address MUST NOT match for this request to be accepted. If this attribute is not specified, request acceptance is governed solely by the accept attribute.

Remote Host Filter
Introduction

The Remote Host Filter allows you to compare the hostname of the client that submitted this request against one or more regular expressions, and either allow the request to continue or refuse to process the request from this client. A Remote Host Filter can be associated with any Catalina container (Engine, Host, or Context), and must accept any request presented to this container for processing before it will be passed on.

The syntax for regular expressions is different than that for 'standard' wildcard matching. Tomcat uses the Jakarta Regexp library. Please consult the Regexp documentation for details of the expressions supported.

Attributes

Remote Host Filter 支持下列配置屬性:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.valves.RemoteHostValve.

allow

A comma-separated list of regular expression patterns that the remote client's hostname is compared to. If this attribute is specified, the remote hostname MUST match for this request to be accepted. If this attribute is not specified, all requests will be accepted UNLESS the remote hostname matches a deny pattern.

deny

A comma-separated list of regular expression patterns that the remote client's hostname is compared to. If this attribute is specified, the remote hostname MUST NOT match for this request to be accepted. If this attribute is not specified, request acceptance is governed solely by the accept attribute.

Request Dumper Valve
Introduction

The Request Dumper Valve is a useful tool in debugging interactions with a client application (or browser) that is sending HTTP requests to your Tomcat-based server. When configured, it causes details about each request processed by its associated Engine, Host, or Context to be logged according to the logging configuration for that container.

WARNING: Using this valve has side-effects. The output from this valve includes any parameters included with the request. The parameters will be decoded using the default platform encoding. Any subsequent calls to request.setCharacterEncoding() within the web application will have no effect.

Attributes

Request Dumper Valve 支持下列配置屬性:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.valves.RequestDumperValve.

Single Sign On Valve
Introduction

The Single Sign On Vale is utilized when you wish to give users the ability to sign on to any one of the web applications associated with your virtual host, and then have their identity recognized by all other web applications on the same virtual host.

See the Single Sign On special feature on the Host element for more information.

Attributes

Single Sign On Valve 支持下列配置屬性:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.authenticator.SingleSignOn.

requireReauthentication

Default false. Flag to determine whether each request needs to be reauthenticated to the security Realm. If "true", this Valve uses cached security credentials (username and password) to reauthenticate to the Realm each request associated with an SSO session. If "false", the Valve can itself authenticate requests based on the presence of a valid SSO cookie, without rechecking with the Realm.

Form Authenticator Valve
Introduction

The Form Authenticator Valve is automatically added to any Context that is configured to use FORM authentication.

If any non-default settings are required, the valve may be configured within Context element with the required values.

Attributes

The Form Authenticator Valve supports the following configuration attributes:

AttributeDescription
className

Java class name of the implementation to use. This MUST be set to org.apache.catalina.authenticator.FormAuthenticator.

characterEncoding

Character encoding to use to read the username and password parameters from the request. If not set, the encoding of the request body will be used.

總結

以上是生活随笔為你收集整理的Apache Tomcat Configuration Reference的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品手机免费 | 噜噜噜亚洲色成人网站 | 国产精品久久久久9999小说 | 国产成人无码午夜视频在线观看 | 国产两女互慰高潮视频在线观看 | 麻豆av传媒蜜桃天美传媒 | 国产成人无码a区在线观看视频app | 亚洲狠狠婷婷综合久久 | 国产精品人人妻人人爽 | 中文字幕无码免费久久99 | 日产精品99久久久久久 | 一本久道久久综合婷婷五月 | 中文字幕精品av一区二区五区 | 久久久国产一区二区三区 | 亚洲 激情 小说 另类 欧美 | 亚洲中文字幕无码一久久区 | 国产美女精品一区二区三区 | 国产福利视频一区二区 | 无码人妻精品一区二区三区不卡 | 精品国产一区二区三区四区 | 国产成人无码av一区二区 | 日本熟妇人妻xxxxx人hd | 午夜福利试看120秒体验区 | 玩弄中年熟妇正在播放 | 老子影院午夜精品无码 | 亚洲 a v无 码免 费 成 人 a v | 偷窥日本少妇撒尿chinese | 精品厕所偷拍各类美女tp嘘嘘 | 日本高清一区免费中文视频 | 老熟妇仑乱视频一区二区 | 2020久久超碰国产精品最新 | 四虎国产精品一区二区 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲中文字幕av在天堂 | 久久久久久久久蜜桃 | 男女超爽视频免费播放 | 欧美日本免费一区二区三区 | 亚洲成a人片在线观看日本 | 日本护士毛茸茸高潮 | 国精产品一品二品国精品69xx | 久久婷婷五月综合色国产香蕉 | 精品久久久久久人妻无码中文字幕 | 久久国语露脸国产精品电影 | 亚洲欧美日韩成人高清在线一区 | 中文字幕乱码亚洲无线三区 | 日本乱人伦片中文三区 | 久久久久成人精品免费播放动漫 | 永久黄网站色视频免费直播 | 国产三级久久久精品麻豆三级 | 在教室伦流澡到高潮hnp视频 | 国内精品九九久久久精品 | 欧美阿v高清资源不卡在线播放 | 无码帝国www无码专区色综合 | 少妇性荡欲午夜性开放视频剧场 | 欧美兽交xxxx×视频 | 国产欧美精品一区二区三区 | 狠狠综合久久久久综合网 | 久久这里只有精品视频9 | 国产成人综合美国十次 | 内射巨臀欧美在线视频 | 又大又硬又黄的免费视频 | 国产精品人人爽人人做我的可爱 | 乱码午夜-极国产极内射 | 日韩精品无码免费一区二区三区 | 国产精品亚洲五月天高清 | 久久人妻内射无码一区三区 | 伊人久久大香线蕉av一区二区 | 黑人粗大猛烈进出高潮视频 | 中文毛片无遮挡高清免费 | 亚洲狠狠色丁香婷婷综合 | 国产国语老龄妇女a片 | 国产成人综合美国十次 | 中文无码精品a∨在线观看不卡 | 久青草影院在线观看国产 | 日韩成人一区二区三区在线观看 | 国产真实伦对白全集 | 国产精品香蕉在线观看 | 亚洲爆乳大丰满无码专区 | 伊人久久婷婷五月综合97色 | 久久精品人人做人人综合 | 婷婷综合久久中文字幕蜜桃三电影 | 国产精品国产三级国产专播 | 中文字幕乱码亚洲无线三区 | 日韩精品成人一区二区三区 | 青草视频在线播放 | 亚洲国产欧美日韩精品一区二区三区 | 中文字幕乱码人妻二区三区 | 娇妻被黑人粗大高潮白浆 | 国产午夜视频在线观看 | 国产一区二区三区精品视频 | 乱码av麻豆丝袜熟女系列 | 东京一本一道一二三区 | 天天拍夜夜添久久精品 | 日韩视频 中文字幕 视频一区 | 国产亚洲日韩欧美另类第八页 | 天天拍夜夜添久久精品大 | 爱做久久久久久 | 色情久久久av熟女人妻网站 | 亚洲a无码综合a国产av中文 | 欧美性猛交内射兽交老熟妇 | 日本欧美一区二区三区乱码 | 久久久久久a亚洲欧洲av冫 | 午夜精品久久久久久久 | 老子影院午夜精品无码 | 亚洲色欲色欲欲www在线 | 高潮毛片无遮挡高清免费 | 精品无码国产自产拍在线观看蜜 | 无码一区二区三区在线观看 | 久久亚洲日韩精品一区二区三区 | 国产av一区二区三区最新精品 | 俺去俺来也在线www色官网 | 毛片内射-百度 | 久久国产精品萌白酱免费 | 少妇邻居内射在线 | 亚洲精品成人av在线 | 99久久久无码国产精品免费 | 欧美黑人乱大交 | 99久久婷婷国产综合精品青草免费 | 又黄又爽又色的视频 | 色情久久久av熟女人妻网站 | 亚洲人成人无码网www国产 | 国产成人综合美国十次 | 亚洲国产精品无码一区二区三区 | 中文精品久久久久人妻不卡 | 久久久久久久人妻无码中文字幕爆 | 一本久道高清无码视频 | 18黄暴禁片在线观看 | 一本无码人妻在中文字幕免费 | 少妇一晚三次一区二区三区 | 亚洲第一无码av无码专区 | 中文字幕无码免费久久9一区9 | 精品一区二区三区无码免费视频 | 牲欲强的熟妇农村老妇女视频 | 少妇无套内谢久久久久 | 免费无码肉片在线观看 | 搡女人真爽免费视频大全 | 在线观看欧美一区二区三区 | 伊人久久大香线蕉av一区二区 | 亚洲狠狠婷婷综合久久 | 国内精品人妻无码久久久影院 | 麻豆国产人妻欲求不满 | 无码国产乱人伦偷精品视频 | 国产亚洲日韩欧美另类第八页 | 一本色道久久综合狠狠躁 | 天天摸天天碰天天添 | 国产综合在线观看 | 久久精品国产日本波多野结衣 | 国产成人无码一二三区视频 | 国产香蕉尹人视频在线 | 亚洲自偷自偷在线制服 | 无码精品人妻一区二区三区av | a片免费视频在线观看 | 男女性色大片免费网站 | 西西人体www44rt大胆高清 | 水蜜桃亚洲一二三四在线 | 性生交大片免费看l | 免费观看激色视频网站 | 亚洲色成人中文字幕网站 | 亚洲精品国产第一综合99久久 | 曰韩少妇内射免费播放 | 性欧美videos高清精品 | 九九久久精品国产免费看小说 | 国产偷抇久久精品a片69 | 亚洲国产av美女网站 | 色综合久久久无码网中文 | 性欧美大战久久久久久久 | 日韩精品一区二区av在线 | 性欧美videos高清精品 | 亚无码乱人伦一区二区 | 欧美丰满少妇xxxx性 | 色婷婷综合中文久久一本 | 内射爽无广熟女亚洲 | 377p欧洲日本亚洲大胆 | 漂亮人妻洗澡被公强 日日躁 | 亚洲欧美精品伊人久久 | 无码人妻久久一区二区三区不卡 | 亚洲精品综合一区二区三区在线 | 国产黑色丝袜在线播放 | 熟女俱乐部五十路六十路av | 国产人妻精品一区二区三区不卡 | 熟女体下毛毛黑森林 | 在线а√天堂中文官网 | 7777奇米四色成人眼影 | 亚洲国产欧美国产综合一区 | 熟妇激情内射com | 久久亚洲中文字幕精品一区 | 欧美三级a做爰在线观看 | 国内揄拍国内精品少妇国语 | 人人妻人人澡人人爽欧美一区九九 | 成人无码视频在线观看网站 | 六十路熟妇乱子伦 | 丰满少妇弄高潮了www | 乌克兰少妇xxxx做受 | 在线观看国产午夜福利片 | 亚洲人亚洲人成电影网站色 | 亚洲精品成a人在线观看 | 国语精品一区二区三区 | 国产又爽又猛又粗的视频a片 | 国产明星裸体无码xxxx视频 | 丰满岳乱妇在线观看中字无码 | 久久99精品国产麻豆蜜芽 | 日本大乳高潮视频在线观看 | 国产精品久久久久9999小说 | 一区二区传媒有限公司 | 精品国精品国产自在久国产87 | 国产精品高潮呻吟av久久 | а√天堂www在线天堂小说 | 中国大陆精品视频xxxx | 国产精品二区一区二区aⅴ污介绍 | 任你躁在线精品免费 | ass日本丰满熟妇pics | 又大又紧又粉嫩18p少妇 | 国产色精品久久人妻 | 水蜜桃色314在线观看 | 精品人人妻人人澡人人爽人人 | 国产黄在线观看免费观看不卡 | 午夜免费福利小电影 | 国产成人无码区免费内射一片色欲 | 无遮无挡爽爽免费视频 | 伊人久久大香线蕉亚洲 | 熟妇人妻无乱码中文字幕 | 日欧一片内射va在线影院 | 青青久在线视频免费观看 | 色综合久久中文娱乐网 | 欧美xxxx黑人又粗又长 | 无码人妻丰满熟妇区毛片18 | 99久久无码一区人妻 | 日日摸日日碰夜夜爽av | 99re在线播放 | 亚洲国产一区二区三区在线观看 | 久久99精品久久久久久 | 国产精品对白交换视频 | 国产疯狂伦交大片 | 亚洲自偷自拍另类第1页 | 久久午夜无码鲁丝片午夜精品 | 中文字幕乱码亚洲无线三区 | 夜精品a片一区二区三区无码白浆 | 久久99精品久久久久久 | 俺去俺来也www色官网 | 美女黄网站人色视频免费国产 | 无码av最新清无码专区吞精 | 免费观看的无遮挡av | 精品无码成人片一区二区98 | 日本xxxx色视频在线观看免费 | √天堂中文官网8在线 | 国产精品久久久 | 牲欲强的熟妇农村老妇女视频 | 国产一区二区三区精品视频 | 在教室伦流澡到高潮hnp视频 | 99精品无人区乱码1区2区3区 | 免费无码肉片在线观看 | 欧美成人免费全部网站 | 亚洲精品国产a久久久久久 | 欧美日韩一区二区免费视频 | 精品aⅴ一区二区三区 | 亚洲色www成人永久网址 | 成人精品天堂一区二区三区 | 久久精品无码一区二区三区 | 人妻尝试又大又粗久久 | 亚洲午夜久久久影院 | 精品成在人线av无码免费看 | 亚洲天堂2017无码 | 2020久久超碰国产精品最新 | 樱花草在线播放免费中文 | 精品无码一区二区三区爱欲 | 亚洲精品国偷拍自产在线麻豆 | 精品无码国产一区二区三区av | 性生交大片免费看l | 人妻少妇精品久久 | 久久国产自偷自偷免费一区调 | 十八禁视频网站在线观看 | 亚洲中文字幕久久无码 | 久久国产精品偷任你爽任你 | ass日本丰满熟妇pics | 97人妻精品一区二区三区 | 国产卡一卡二卡三 | av人摸人人人澡人人超碰下载 | 国产乱码精品一品二品 | 国产卡一卡二卡三 | 成人欧美一区二区三区黑人免费 | 亚洲国精产品一二二线 | 东京一本一道一二三区 | 奇米影视7777久久精品人人爽 | 十八禁视频网站在线观看 | 18精品久久久无码午夜福利 | 亚洲欧洲日本无在线码 | 国产av人人夜夜澡人人爽麻豆 | 强伦人妻一区二区三区视频18 | 亚洲国产精品毛片av不卡在线 | 亚洲一区二区三区含羞草 | 扒开双腿吃奶呻吟做受视频 | 性开放的女人aaa片 | 野狼第一精品社区 | 美女黄网站人色视频免费国产 | 国产高清不卡无码视频 | 亚洲精品无码国产 | 国产电影无码午夜在线播放 | 免费男性肉肉影院 | 国产偷国产偷精品高清尤物 | 国产偷国产偷精品高清尤物 | 永久免费观看美女裸体的网站 | 国产熟妇高潮叫床视频播放 | 精品熟女少妇av免费观看 | 2019午夜福利不卡片在线 | 久久综合网欧美色妞网 | v一区无码内射国产 | 红桃av一区二区三区在线无码av | 一区二区三区高清视频一 | 欧美35页视频在线观看 | 无码一区二区三区在线 | 久精品国产欧美亚洲色aⅴ大片 | 激情爆乳一区二区三区 | 大乳丰满人妻中文字幕日本 | 国产精品第一区揄拍无码 | 午夜精品一区二区三区在线观看 | 日韩亚洲欧美中文高清在线 | 亚洲国产成人av在线观看 | 欧美真人作爱免费视频 | 中文字幕人妻丝袜二区 | 亚洲欧美中文字幕5发布 | 欧美国产日韩亚洲中文 | 亚洲国产av美女网站 | 亚洲精品国产a久久久久久 | 国产精品高潮呻吟av久久4虎 | 日本一区二区三区免费播放 | 少妇高潮一区二区三区99 | 伊人久久大香线蕉午夜 | 国产午夜手机精彩视频 | 久久久无码中文字幕久... | 奇米影视7777久久精品 | 国产成人无码av在线影院 | 无码人妻精品一区二区三区下载 | 国产精品嫩草久久久久 | 久久熟妇人妻午夜寂寞影院 | 99久久久无码国产精品免费 | 中文字幕中文有码在线 | 久久亚洲a片com人成 | 黑人巨大精品欧美黑寡妇 | 日日碰狠狠丁香久燥 | 国产亚洲欧美日韩亚洲中文色 | 国产欧美熟妇另类久久久 | 亚洲欧美综合区丁香五月小说 | 国精产品一品二品国精品69xx | 无码av免费一区二区三区试看 | 精品国产aⅴ无码一区二区 | 欧美成人午夜精品久久久 | 人妻熟女一区 | 亚洲国产精品成人久久蜜臀 | 精品欧洲av无码一区二区三区 | 永久免费观看国产裸体美女 | 国产人妻人伦精品1国产丝袜 | 中文字幕色婷婷在线视频 | 在线a亚洲视频播放在线观看 | 人人超人人超碰超国产 | 2020久久超碰国产精品最新 | 国产日产欧产精品精品app | 水蜜桃色314在线观看 | 天海翼激烈高潮到腰振不止 | 天堂无码人妻精品一区二区三区 | 精品国偷自产在线视频 | 狠狠色色综合网站 | 欧美野外疯狂做受xxxx高潮 | 久久综合九色综合97网 | 人人爽人人爽人人片av亚洲 | 亚洲精品美女久久久久久久 | 中文字幕无码免费久久99 | 性欧美牲交在线视频 | 精品一区二区三区无码免费视频 | 思思久久99热只有频精品66 | 青青青手机频在线观看 | 日本熟妇浓毛 | 亚洲s码欧洲m码国产av | 学生妹亚洲一区二区 | 少妇厨房愉情理9仑片视频 | 性生交大片免费看女人按摩摩 | 人妻少妇精品久久 | 亚洲精品一区二区三区大桥未久 | 久久精品国产一区二区三区 | 久久综合网欧美色妞网 | 成人无码视频免费播放 | 国产手机在线αⅴ片无码观看 | 日本熟妇人妻xxxxx人hd | 樱花草在线播放免费中文 | 久久久国产一区二区三区 | 精品午夜福利在线观看 | 亚洲色欲色欲欲www在线 | 麻豆国产人妻欲求不满 | 欧美黑人乱大交 | 国产亚洲人成a在线v网站 | 又紧又大又爽精品一区二区 | 大胆欧美熟妇xx | 国产麻豆精品一区二区三区v视界 | 兔费看少妇性l交大片免费 | 无码av最新清无码专区吞精 | 99国产精品白浆在线观看免费 | 波多野结衣乳巨码无在线观看 | 欧美激情内射喷水高潮 | 国产免费无码一区二区视频 | 国产美女精品一区二区三区 | 亚洲成色www久久网站 | 奇米影视888欧美在线观看 | 久久久精品人妻久久影视 | 国产黑色丝袜在线播放 | 中文字幕无码日韩专区 | 日日干夜夜干 | 在教室伦流澡到高潮hnp视频 | 久久国语露脸国产精品电影 | 亚洲熟悉妇女xxx妇女av | 老子影院午夜伦不卡 | 亚洲成av人影院在线观看 | 无遮挡国产高潮视频免费观看 | 精品偷自拍另类在线观看 | 国产精品美女久久久 | 色情久久久av熟女人妻网站 | 在线精品国产一区二区三区 | 99久久99久久免费精品蜜桃 | 日本一卡2卡3卡四卡精品网站 | 51国偷自产一区二区三区 | 久久久精品成人免费观看 | 男女猛烈xx00免费视频试看 | 亚洲狠狠婷婷综合久久 | 一区二区三区高清视频一 | 久久99精品久久久久婷婷 | 亚洲啪av永久无码精品放毛片 | 露脸叫床粗话东北少妇 | 国产精品无码一区二区桃花视频 | 久久天天躁夜夜躁狠狠 | 亚洲欧美国产精品专区久久 | 午夜精品久久久久久久久 | 老熟妇仑乱视频一区二区 | 精品无码一区二区三区爱欲 | 午夜免费福利小电影 | 男女性色大片免费网站 | 久久久婷婷五月亚洲97号色 | 亚洲欧美日韩成人高清在线一区 | 波多野结衣av在线观看 | 领导边摸边吃奶边做爽在线观看 | 双乳奶水饱满少妇呻吟 | 亚洲一区av无码专区在线观看 | 日本又色又爽又黄的a片18禁 | 日本一区二区三区免费高清 | 欧洲vodafone精品性 | 日本熟妇浓毛 | 国产精品久久久久久久影院 | 自拍偷自拍亚洲精品被多人伦好爽 | 无码纯肉视频在线观看 | 久久人人爽人人爽人人片av高清 | 精品久久久久久亚洲精品 | 无码av最新清无码专区吞精 | 天天躁夜夜躁狠狠是什么心态 | 久久无码中文字幕免费影院蜜桃 | 精品国产av色一区二区深夜久久 | 在线 国产 欧美 亚洲 天堂 | 人人妻人人澡人人爽欧美精品 | 亚洲成a人片在线观看日本 | 无码国产色欲xxxxx视频 | 久激情内射婷内射蜜桃人妖 | 国产成人综合色在线观看网站 | 午夜熟女插插xx免费视频 | 一本色道久久综合狠狠躁 | 波多野结衣一区二区三区av免费 | 丰满人妻一区二区三区免费视频 | 亚洲乱亚洲乱妇50p | 国产成人精品视频ⅴa片软件竹菊 | 在线观看免费人成视频 | 日本熟妇人妻xxxxx人hd | 中文字幕无码日韩专区 | 亚洲一区av无码专区在线观看 | 国内综合精品午夜久久资源 | 久久精品中文字幕一区 | 熟女俱乐部五十路六十路av | 99久久无码一区人妻 | 人人妻人人澡人人爽精品欧美 | 国产午夜视频在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 国产另类ts人妖一区二区 | 亚洲人成影院在线无码按摩店 | 强奷人妻日本中文字幕 | 麻豆国产人妻欲求不满谁演的 | 999久久久国产精品消防器材 | 成人亚洲精品久久久久软件 | 麻豆国产人妻欲求不满 | 131美女爱做视频 | 欧美国产亚洲日韩在线二区 | ass日本丰满熟妇pics | 人人爽人人爽人人片av亚洲 | 无码人妻丰满熟妇区五十路百度 | 熟妇人妻激情偷爽文 | 欧美成人午夜精品久久久 | 18精品久久久无码午夜福利 | 成人aaa片一区国产精品 | 综合网日日天干夜夜久久 | 亚洲日韩中文字幕在线播放 | 国产极品视觉盛宴 | 国产成人久久精品流白浆 | 亚洲精品一区二区三区在线观看 | 中国大陆精品视频xxxx | 亚洲综合精品香蕉久久网 | 一个人免费观看的www视频 | 国产小呦泬泬99精品 | 亚洲色成人中文字幕网站 | 波多野结衣av在线观看 | 沈阳熟女露脸对白视频 | 亚洲色无码一区二区三区 | 色婷婷综合中文久久一本 | 无码播放一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产成人精品久久亚洲高清不卡 | √8天堂资源地址中文在线 | 久久久中文久久久无码 | 国产精品亚洲lv粉色 | 一本久久a久久精品vr综合 | 国产婷婷色一区二区三区在线 | 任你躁国产自任一区二区三区 | 国产成人无码一二三区视频 | 国产午夜亚洲精品不卡下载 | 久久综合狠狠综合久久综合88 | 99久久99久久免费精品蜜桃 | 老司机亚洲精品影院无码 | 狠狠cao日日穞夜夜穞av | 亚洲人成影院在线无码按摩店 | 99视频精品全部免费免费观看 | 丝袜人妻一区二区三区 | 国产超级va在线观看视频 | 99久久亚洲精品无码毛片 | 在线精品国产一区二区三区 | 欧美 亚洲 国产 另类 | 99久久久无码国产aaa精品 | 国产两女互慰高潮视频在线观看 | 色欲av亚洲一区无码少妇 | 好屌草这里只有精品 | 国产手机在线αⅴ片无码观看 | 牲交欧美兽交欧美 | 97无码免费人妻超级碰碰夜夜 | 国产精品久久久午夜夜伦鲁鲁 | 欧美国产日韩亚洲中文 | 装睡被陌生人摸出水好爽 | 国产熟妇另类久久久久 | 四虎影视成人永久免费观看视频 | 熟妇人妻无码xxx视频 | 中文字幕日产无线码一区 | 久青草影院在线观看国产 | 97无码免费人妻超级碰碰夜夜 | 人妻体内射精一区二区三四 | 精品无码国产一区二区三区av | 熟妇人妻无码xxx视频 | 综合人妻久久一区二区精品 | 亚洲色欲色欲欲www在线 | 黑人玩弄人妻中文在线 | 在线天堂新版最新版在线8 | 动漫av网站免费观看 | 夜精品a片一区二区三区无码白浆 | 欧美老妇交乱视频在线观看 | 国产成人亚洲综合无码 | 亚洲精品国产精品乱码不卡 | 精品乱码久久久久久久 | 又色又爽又黄的美女裸体网站 | 又紧又大又爽精品一区二区 | av人摸人人人澡人人超碰下载 | 亚洲精品国产精品乱码不卡 | 玩弄人妻少妇500系列视频 | 国产特级毛片aaaaaa高潮流水 | 亚洲精品国产第一综合99久久 | 少妇厨房愉情理9仑片视频 | 亚洲中文字幕无码一久久区 | 麻花豆传媒剧国产免费mv在线 | 成人免费视频视频在线观看 免费 | 久久精品女人的天堂av | 久久www免费人成人片 | 亚洲а∨天堂久久精品2021 | 黑人粗大猛烈进出高潮视频 | 久久久精品国产sm最大网站 | 亚洲国产综合无码一区 | 无人区乱码一区二区三区 | 一本大道久久东京热无码av | 中文字幕av伊人av无码av | 久久久久se色偷偷亚洲精品av | 免费人成网站视频在线观看 | 国产精品-区区久久久狼 | 最新国产乱人伦偷精品免费网站 | 亚洲精品国产精品乱码视色 | 免费播放一区二区三区 | 18无码粉嫩小泬无套在线观看 | 六十路熟妇乱子伦 | 国产区女主播在线观看 | 日韩少妇白浆无码系列 | 奇米影视7777久久精品 | 亚洲午夜福利在线观看 | 欧美肥老太牲交大战 | 精品久久久中文字幕人妻 | 偷窥日本少妇撒尿chinese | 99国产精品白浆在线观看免费 | 又大又硬又黄的免费视频 | 水蜜桃色314在线观看 | 亚洲一区二区三区国产精华液 | 人人妻人人澡人人爽人人精品 | 日本在线高清不卡免费播放 | 天天摸天天碰天天添 | 久久精品中文闷骚内射 | 奇米影视888欧美在线观看 | 国产成人无码av在线影院 | 亚洲欧美精品伊人久久 | 中文亚洲成a人片在线观看 | 精品乱码久久久久久久 | 黄网在线观看免费网站 | 人妻aⅴ无码一区二区三区 | 97人妻精品一区二区三区 | 精品无码成人片一区二区98 | 国产极品视觉盛宴 | 日本爽爽爽爽爽爽在线观看免 | 精品无人区无码乱码毛片国产 | 国产无遮挡又黄又爽又色 | 午夜无码人妻av大片色欲 | 久久人人爽人人爽人人片av高清 | 精品欧美一区二区三区久久久 | 成人亚洲精品久久久久 | 55夜色66夜色国产精品视频 | 女高中生第一次破苞av | 国产疯狂伦交大片 | 欧美日韩视频无码一区二区三 | 国产xxx69麻豆国语对白 | 综合激情五月综合激情五月激情1 | 麻豆精产国品 | 久久久久国色av免费观看性色 | 精品国产aⅴ无码一区二区 | 亚洲大尺度无码无码专区 | 国内精品九九久久久精品 | 国产一区二区三区精品视频 | 高清不卡一区二区三区 | 国产精品香蕉在线观看 | 黑人巨大精品欧美一区二区 | 红桃av一区二区三区在线无码av | 色婷婷综合中文久久一本 | 99久久久无码国产aaa精品 | 久久久精品人妻久久影视 | 又大又硬又黄的免费视频 | 狂野欧美激情性xxxx | 日本熟妇乱子伦xxxx | 国产激情无码一区二区 | 少妇无码一区二区二三区 | 纯爱无遮挡h肉动漫在线播放 | 国产成人一区二区三区在线观看 | 亚洲精品国产精品乱码不卡 | 国产亚洲美女精品久久久2020 | 67194成是人免费无码 | 久久国产精品二国产精品 | 三上悠亚人妻中文字幕在线 | 麻豆av传媒蜜桃天美传媒 | 国产精品久久福利网站 | 日韩人妻系列无码专区 | 正在播放东北夫妻内射 | 性啪啪chinese东北女人 | 丰满人妻翻云覆雨呻吟视频 | 色婷婷香蕉在线一区二区 | 色妞www精品免费视频 | 青青青手机频在线观看 | 少妇无码一区二区二三区 | 亚洲熟悉妇女xxx妇女av | 人妻天天爽夜夜爽一区二区 | 亚洲无人区一区二区三区 | 亚洲精品一区二区三区在线 | 麻豆md0077饥渴少妇 | 4hu四虎永久在线观看 | 麻豆国产人妻欲求不满谁演的 | 亚洲精品国产第一综合99久久 | 国内少妇偷人精品视频免费 | 亚洲成av人影院在线观看 | 国产精品二区一区二区aⅴ污介绍 | 精品熟女少妇av免费观看 | 精品一区二区不卡无码av | 色婷婷香蕉在线一区二区 | 麻豆人妻少妇精品无码专区 | 日本va欧美va欧美va精品 | 日本精品久久久久中文字幕 | 国产精品人人妻人人爽 | 国产亚洲日韩欧美另类第八页 | 亚洲精品久久久久中文第一幕 | 亚洲狠狠婷婷综合久久 | 国产卡一卡二卡三 | 国产成人av免费观看 | 国产免费久久久久久无码 | 少女韩国电视剧在线观看完整 | 国产一区二区三区精品视频 | 精品少妇爆乳无码av无码专区 | 亚洲一区二区三区偷拍女厕 | 国产区女主播在线观看 | 亚洲伊人久久精品影院 | 捆绑白丝粉色jk震动捧喷白浆 | 国产精品久久久久9999小说 | 娇妻被黑人粗大高潮白浆 | 无码一区二区三区在线观看 | 丰满妇女强制高潮18xxxx | 水蜜桃色314在线观看 | 无码人妻久久一区二区三区不卡 | 野狼第一精品社区 | yw尤物av无码国产在线观看 | 熟女少妇人妻中文字幕 | 日本精品人妻无码77777 天堂一区人妻无码 | 精品国产精品久久一区免费式 | 国产一区二区三区精品视频 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 丁香啪啪综合成人亚洲 | 国产精品无码一区二区桃花视频 | 久久国语露脸国产精品电影 | 亚洲大尺度无码无码专区 | 国产精品久久久久9999小说 | 亚洲精品一区二区三区在线 | 国产人妻人伦精品 | 一本久道久久综合婷婷五月 | 日日碰狠狠躁久久躁蜜桃 | 欧美性猛交内射兽交老熟妇 | 亲嘴扒胸摸屁股激烈网站 | 女高中生第一次破苞av | 水蜜桃亚洲一二三四在线 | 国产精品欧美成人 | 伊在人天堂亚洲香蕉精品区 | 奇米影视888欧美在线观看 | 免费人成在线视频无码 | 人妻少妇精品久久 | 久久精品人人做人人综合 | 日本丰满熟妇videos | 久久久久久亚洲精品a片成人 | 大胆欧美熟妇xx | 欧美人与物videos另类 | 麻豆国产丝袜白领秘书在线观看 | 成人亚洲精品久久久久 | 四虎永久在线精品免费网址 | 国产乱子伦视频在线播放 | 强辱丰满人妻hd中文字幕 | 久久亚洲日韩精品一区二区三区 | 亚洲日韩av一区二区三区四区 | 欧美怡红院免费全部视频 | 久久99精品久久久久久动态图 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 日本护士毛茸茸高潮 | 丝袜美腿亚洲一区二区 | 天天躁日日躁狠狠躁免费麻豆 | 国产成人精品视频ⅴa片软件竹菊 | 又色又爽又黄的美女裸体网站 | 精品国产精品久久一区免费式 | 无码人妻黑人中文字幕 | 久久久久久久人妻无码中文字幕爆 | 啦啦啦www在线观看免费视频 | 玩弄人妻少妇500系列视频 | 荡女精品导航 | 国内精品久久久久久中文字幕 | 精品国产av色一区二区深夜久久 | 亚洲精品久久久久久久久久久 | 一区二区传媒有限公司 | 久久亚洲精品成人无码 | 欧美野外疯狂做受xxxx高潮 | 国产乱人无码伦av在线a | 97资源共享在线视频 | 国产精品va在线观看无码 | 国产色xx群视频射精 | 日本护士毛茸茸高潮 | 女人被爽到呻吟gif动态图视看 | 鲁一鲁av2019在线 | 日本护士毛茸茸高潮 | 国产精品国产自线拍免费软件 | 亚洲一区av无码专区在线观看 | 久久人人爽人人爽人人片ⅴ | 久久99精品国产麻豆蜜芽 | 岛国片人妻三上悠亚 | 欧美日韩久久久精品a片 | 国产欧美精品一区二区三区 | 国产精品自产拍在线观看 | 九月婷婷人人澡人人添人人爽 | а天堂中文在线官网 | 欧美老妇与禽交 | 国产亚洲美女精品久久久2020 | 免费国产成人高清在线观看网站 | 色偷偷人人澡人人爽人人模 | 人人妻人人澡人人爽精品欧美 | 樱花草在线社区www | 十八禁真人啪啪免费网站 | 97资源共享在线视频 | aⅴ在线视频男人的天堂 | 国产亚洲人成在线播放 | 国产精品美女久久久网av | 国产精品久久国产精品99 | 日本va欧美va欧美va精品 | 国产99久久精品一区二区 | 亚洲国产精品成人久久蜜臀 | 成年女人永久免费看片 | 国产区女主播在线观看 | v一区无码内射国产 | 亚洲精品久久久久avwww潮水 | 狠狠躁日日躁夜夜躁2020 | 国产午夜手机精彩视频 | 日本又色又爽又黄的a片18禁 | 又黄又爽又色的视频 | 成人免费视频在线观看 | 亚洲娇小与黑人巨大交 | 日韩人妻无码一区二区三区久久99 | 亚洲精品久久久久avwww潮水 | av无码不卡在线观看免费 | 亚洲日韩中文字幕在线播放 | 综合人妻久久一区二区精品 | 日本熟妇人妻xxxxx人hd | 国产精品二区一区二区aⅴ污介绍 | 亚洲自偷精品视频自拍 | 国产手机在线αⅴ片无码观看 | 国产做国产爱免费视频 | 国产精品成人av在线观看 | 人人妻人人澡人人爽欧美精品 | 女高中生第一次破苞av | 精品偷自拍另类在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 99er热精品视频 | 亚洲日韩精品欧美一区二区 | 男女猛烈xx00免费视频试看 | 人人妻人人澡人人爽人人精品浪潮 | 国产人妻精品一区二区三区不卡 | 午夜丰满少妇性开放视频 | 色诱久久久久综合网ywww | 国产精品无套呻吟在线 | 成人性做爰aaa片免费看 | 亚洲欧美色中文字幕在线 | 奇米影视7777久久精品 | 成人无码精品一区二区三区 | 亚洲天堂2017无码 | 亚洲欧美综合区丁香五月小说 | 少妇性荡欲午夜性开放视频剧场 | 亚洲呦女专区 | 亚洲va中文字幕无码久久不卡 | 亚洲一区二区三区四区 | 国产精品美女久久久网av | 国产精品办公室沙发 | 永久免费观看国产裸体美女 | 国产精品视频免费播放 | 鲁大师影院在线观看 | 色综合久久88色综合天天 | 亚洲日韩av一区二区三区四区 | 中文字幕无码热在线视频 | 国产9 9在线 | 中文 | 色欲av亚洲一区无码少妇 | 99麻豆久久久国产精品免费 | 亚洲日本在线电影 | 精品人妻av区 | 一本大道久久东京热无码av | 国产无套粉嫩白浆在线 | 黄网在线观看免费网站 | 爆乳一区二区三区无码 | 亚洲人成无码网www | 国产亚洲日韩欧美另类第八页 | v一区无码内射国产 | 婷婷丁香六月激情综合啪 | 亚洲人成无码网www | 中文字幕日产无线码一区 | 欧美人与牲动交xxxx | 中文字幕人成乱码熟女app | 中文字幕日产无线码一区 | 国产香蕉尹人综合在线观看 | 秋霞特色aa大片 | 少妇性荡欲午夜性开放视频剧场 | 亚洲人亚洲人成电影网站色 | 人人爽人人澡人人人妻 | 亚洲一区二区三区含羞草 | 亚洲国产成人av在线观看 | 97无码免费人妻超级碰碰夜夜 | 伊人久久大香线蕉亚洲 | 欧美精品国产综合久久 | 国产做国产爱免费视频 | 在线视频网站www色 | 三上悠亚人妻中文字幕在线 | 99久久人妻精品免费一区 | 午夜性刺激在线视频免费 | aa片在线观看视频在线播放 | 精品久久久久久人妻无码中文字幕 | 国产成人无码一二三区视频 | 欧美激情一区二区三区成人 | 亚洲欧洲日本无在线码 | 国产舌乚八伦偷品w中 | 久久人人97超碰a片精品 | 日本爽爽爽爽爽爽在线观看免 | 国产精品a成v人在线播放 | 亚洲熟女一区二区三区 | 性啪啪chinese东北女人 | 亚洲 日韩 欧美 成人 在线观看 | 狠狠色色综合网站 | 国产 浪潮av性色四虎 | 久久精品人人做人人综合试看 | 精品久久久中文字幕人妻 | 少妇性俱乐部纵欲狂欢电影 | 牲欲强的熟妇农村老妇女 | 亚洲中文字幕无码中文字在线 | 欧美丰满少妇xxxx性 | 中文精品久久久久人妻不卡 | 日韩av无码中文无码电影 | 亚洲色大成网站www国产 | 久久久久亚洲精品中文字幕 | 国产尤物精品视频 | 色综合久久久久综合一本到桃花网 | 人人妻人人澡人人爽人人精品浪潮 | 日韩无套无码精品 | 国产精品资源一区二区 | 人妻少妇被猛烈进入中文字幕 | 欧美激情一区二区三区成人 | 国产亚洲美女精品久久久2020 | 亚洲人成网站在线播放942 | 未满成年国产在线观看 | 日韩 欧美 动漫 国产 制服 | 性色av无码免费一区二区三区 | 亚洲国产日韩a在线播放 | 自拍偷自拍亚洲精品10p | 国产人成高清在线视频99最全资源 | 日本免费一区二区三区最新 | 少妇高潮喷潮久久久影院 | 国产av一区二区三区最新精品 | 亚洲日韩av片在线观看 | 中文字幕乱妇无码av在线 | 国内丰满熟女出轨videos | 日日摸天天摸爽爽狠狠97 | 性色av无码免费一区二区三区 | 国产偷国产偷精品高清尤物 | 日本熟妇大屁股人妻 | 欧美一区二区三区 | 色综合天天综合狠狠爱 | 成人综合网亚洲伊人 | 2020久久超碰国产精品最新 | 377p欧洲日本亚洲大胆 | 内射爽无广熟女亚洲 | 国产精品99爱免费视频 | 久久精品中文闷骚内射 | 欧美怡红院免费全部视频 | 欧美成人高清在线播放 | 欧美freesex黑人又粗又大 | 欧美xxxx黑人又粗又长 | 成人无码影片精品久久久 | 亚洲国产成人a精品不卡在线 | 中国大陆精品视频xxxx | 精品无人区无码乱码毛片国产 | 精品久久久久久亚洲精品 | 中文字幕人妻无码一区二区三区 | 欧美freesex黑人又粗又大 | 成人无码视频在线观看网站 | 久久精品国产99久久6动漫 | 色综合久久久无码中文字幕 | 国产精品人人妻人人爽 | 亚无码乱人伦一区二区 | 偷窥日本少妇撒尿chinese | 国产亚洲精品精品国产亚洲综合 | 秋霞特色aa大片 | 成人影院yy111111在线观看 | 亚洲中文字幕在线观看 | 纯爱无遮挡h肉动漫在线播放 | 无码任你躁久久久久久久 | 精品久久久久香蕉网 | 国产九九九九九九九a片 | 久久99久久99精品中文字幕 | 国产亚av手机在线观看 | 日韩欧美中文字幕公布 | 国内少妇偷人精品视频免费 | 亚洲va中文字幕无码久久不卡 | 亚洲精品综合五月久久小说 | 亚洲日韩一区二区 | 在线欧美精品一区二区三区 | 少妇性荡欲午夜性开放视频剧场 | 精品国产av色一区二区深夜久久 | 女人被爽到呻吟gif动态图视看 | 精品水蜜桃久久久久久久 | 丰满人妻翻云覆雨呻吟视频 | 丰满护士巨好爽好大乳 | 久久综合激激的五月天 | 国产真实夫妇视频 | 国内精品九九久久久精品 | 日本熟妇乱子伦xxxx | 东京热无码av男人的天堂 | 狂野欧美性猛xxxx乱大交 | 国产两女互慰高潮视频在线观看 | 国产舌乚八伦偷品w中 | 欧美国产亚洲日韩在线二区 | 88国产精品欧美一区二区三区 | 国产精品久久久久9999小说 | 乱码av麻豆丝袜熟女系列 | 亚洲中文字幕无码中文字在线 | 97夜夜澡人人爽人人喊中国片 | 人妻夜夜爽天天爽三区 | 国产午夜亚洲精品不卡下载 | 欧美老妇交乱视频在线观看 | 精品熟女少妇av免费观看 | 色一情一乱一伦一区二区三欧美 | 亚洲熟女一区二区三区 | 国产后入清纯学生妹 | 欧美丰满少妇xxxx性 | 老头边吃奶边弄进去呻吟 | 国产无遮挡又黄又爽又色 | 国产明星裸体无码xxxx视频 | 奇米影视7777久久精品 | 18无码粉嫩小泬无套在线观看 | 丰满人妻被黑人猛烈进入 | 亚洲综合精品香蕉久久网 | 色婷婷久久一区二区三区麻豆 | 人妻无码αv中文字幕久久琪琪布 | 丰满人妻翻云覆雨呻吟视频 | 国内少妇偷人精品视频免费 | 亚洲第一无码av无码专区 | 中文字幕乱码亚洲无线三区 | 亚洲精品综合一区二区三区在线 | 最新国产乱人伦偷精品免费网站 | 波多野结衣高清一区二区三区 | 在线观看免费人成视频 | 国产精品久久久一区二区三区 | 激情爆乳一区二区三区 | 老子影院午夜精品无码 | 精品无码国产自产拍在线观看蜜 | 亚洲日韩一区二区 | 欧美激情综合亚洲一二区 | 美女极度色诱视频国产 | 精品偷自拍另类在线观看 | 狠狠色丁香久久婷婷综合五月 | 成人试看120秒体验区 | 欧美大屁股xxxxhd黑色 | 精品国产一区二区三区四区在线看 | 7777奇米四色成人眼影 | 成人无码精品1区2区3区免费看 | 国产精品美女久久久 | 婷婷五月综合缴情在线视频 | 熟妇女人妻丰满少妇中文字幕 | 亚洲日韩乱码中文无码蜜桃臀网站 | 老熟妇仑乱视频一区二区 | 人妻少妇精品无码专区二区 | 国产亚洲日韩欧美另类第八页 | 色一情一乱一伦一区二区三欧美 | 99re在线播放 | 成人免费无码大片a毛片 | 午夜精品久久久久久久 | 少妇高潮喷潮久久久影院 | 亚洲欧美中文字幕5发布 | 中文字幕乱码人妻无码久久 | 正在播放东北夫妻内射 | 51国偷自产一区二区三区 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲国产精品毛片av不卡在线 | 欧美乱妇无乱码大黄a片 | 丁香啪啪综合成人亚洲 | www成人国产高清内射 | 久久zyz资源站无码中文动漫 | 老太婆性杂交欧美肥老太 | 中文字幕乱码中文乱码51精品 | 少妇无套内谢久久久久 | 国内精品九九久久久精品 | 亚洲午夜无码久久 | 牲欲强的熟妇农村老妇女 | а天堂中文在线官网 | 精品久久久久久人妻无码中文字幕 | 男人扒开女人内裤强吻桶进去 | 亚洲一区二区三区香蕉 | 一本色道久久综合亚洲精品不卡 | 99麻豆久久久国产精品免费 | 久热国产vs视频在线观看 | 国产精品无套呻吟在线 | 美女扒开屁股让男人桶 | 性色欲情网站iwww九文堂 | 黑森林福利视频导航 | 日韩精品a片一区二区三区妖精 | 久久天天躁夜夜躁狠狠 | 日产精品高潮呻吟av久久 | 特级做a爰片毛片免费69 | 色综合久久久无码网中文 | 熟女少妇在线视频播放 | 午夜成人1000部免费视频 | 亚洲熟妇色xxxxx欧美老妇y | 老司机亚洲精品影院 | 国产成人一区二区三区在线观看 | 99久久精品无码一区二区毛片 | 久久久久99精品国产片 | 麻豆人妻少妇精品无码专区 | 偷窥日本少妇撒尿chinese | 在教室伦流澡到高潮hnp视频 | 久久午夜无码鲁丝片午夜精品 | 午夜精品一区二区三区在线观看 | 色婷婷av一区二区三区之红樱桃 | 久久亚洲a片com人成 | 国产精品久久精品三级 | 国产色视频一区二区三区 | 精品人妻中文字幕有码在线 | 国产精华av午夜在线观看 | 久久久久人妻一区精品色欧美 | 精品无码av一区二区三区 | 亚洲色欲色欲天天天www | 国产精品亚洲一区二区三区喷水 | 男女超爽视频免费播放 | 久久99精品久久久久久 | 成人无码精品一区二区三区 | 日本丰满熟妇videos | 国产成人无码午夜视频在线观看 | 亚洲日韩av一区二区三区四区 | 亚洲人成人无码网www国产 | 国产极品视觉盛宴 | 青春草在线视频免费观看 | 青青草原综合久久大伊人精品 | 午夜福利电影 | 中文精品久久久久人妻不卡 | 亚洲精品午夜无码电影网 | 亚洲日韩乱码中文无码蜜桃臀网站 | 一本色道久久综合狠狠躁 | 精品无码一区二区三区的天堂 | 97精品人妻一区二区三区香蕉 | 亚洲欧洲无卡二区视頻 | 亚洲日韩av片在线观看 | 免费视频欧美无人区码 | 少妇无码一区二区二三区 | 国产精品久久久av久久久 | 国产精品99久久精品爆乳 | 欧美阿v高清资源不卡在线播放 | 成人无码精品1区2区3区免费看 | 欧美日韩综合一区二区三区 | 无码毛片视频一区二区本码 | 欧美日韩精品 | 久久久久久久人妻无码中文字幕爆 | 成人一在线视频日韩国产 | 久久无码中文字幕免费影院蜜桃 | 亚洲色欲色欲欲www在线 | 成人性做爰aaa片免费看不忠 | 国产人妻久久精品二区三区老狼 | 免费观看激色视频网站 | 狠狠色欧美亚洲狠狠色www | 狂野欧美激情性xxxx | 乱中年女人伦av三区 | 国产婷婷色一区二区三区在线 | 久在线观看福利视频 | 强伦人妻一区二区三区视频18 | 久久99久久99精品中文字幕 | 亚洲一区二区三区 | www国产亚洲精品久久久日本 | 丰满少妇高潮惨叫视频 | 无码人妻精品一区二区三区不卡 | 国产精品国产三级国产专播 | 99精品久久毛片a片 | 欧美日韩一区二区三区自拍 | aⅴ在线视频男人的天堂 | 日产精品99久久久久久 | 无码av免费一区二区三区试看 | 伦伦影院午夜理论片 | 东京无码熟妇人妻av在线网址 | 国产婷婷色一区二区三区在线 | 日产国产精品亚洲系列 | 日产精品高潮呻吟av久久 | 中文字幕无码av激情不卡 | 少妇性荡欲午夜性开放视频剧场 | 精品国产一区二区三区av 性色 | 亚洲国精产品一二二线 | 国产成人久久精品流白浆 | 欧美大屁股xxxxhd黑色 | 日韩少妇内射免费播放 | av小次郎收藏 | 色偷偷人人澡人人爽人人模 | 亚洲无人区一区二区三区 | 性欧美熟妇videofreesex | 麻豆av传媒蜜桃天美传媒 | 久久精品国产一区二区三区 | 无码精品国产va在线观看dvd | 色欲人妻aaaaaaa无码 | 人妻天天爽夜夜爽一区二区 | 无码帝国www无码专区色综合 | 久久久久久国产精品无码下载 | a片免费视频在线观看 | 九九在线中文字幕无码 | 天堂无码人妻精品一区二区三区 | 亚洲欧美国产精品久久 | 国产疯狂伦交大片 | 无码人妻出轨黑人中文字幕 | 狂野欧美性猛交免费视频 | 波多野结衣乳巨码无在线观看 | 欧美丰满老熟妇xxxxx性 | 日日天日日夜日日摸 | 亚洲gv猛男gv无码男同 | 中文字幕日产无线码一区 | 亚洲色偷偷偷综合网 | 99麻豆久久久国产精品免费 | 无遮无挡爽爽免费视频 | 亚洲人成网站免费播放 | 欧美freesex黑人又粗又大 | 欧美丰满老熟妇xxxxx性 | 九九在线中文字幕无码 | 免费播放一区二区三区 | 国产精品多人p群无码 | 国产亚洲欧美日韩亚洲中文色 | 国产精品高潮呻吟av久久4虎 | 免费观看黄网站 | 国产av无码专区亚洲awww | 亚洲国产精品毛片av不卡在线 | 久久久久久av无码免费看大片 | 国产极品美女高潮无套在线观看 | 亚洲 a v无 码免 费 成 人 a v | 装睡被陌生人摸出水好爽 | 青青久在线视频免费观看 | 国产精品.xx视频.xxtv | 成人欧美一区二区三区黑人 | 国产精品嫩草久久久久 | 丝袜美腿亚洲一区二区 | 精品乱子伦一区二区三区 | 日韩精品无码一区二区中文字幕 | 桃花色综合影院 | 激情内射亚州一区二区三区爱妻 | 日韩精品乱码av一区二区 | 最近免费中文字幕中文高清百度 | 波多野42部无码喷潮在线 | 久久久国产精品无码免费专区 | 国产精品内射视频免费 | 啦啦啦www在线观看免费视频 | 国产成人无码av一区二区 | 成在人线av无码免观看麻豆 | 久久综合色之久久综合 | 99麻豆久久久国产精品免费 | 欧美一区二区三区 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美日本免费一区二区三区 | 色老头在线一区二区三区 | 亚洲自偷精品视频自拍 | 99久久精品日本一区二区免费 | 丁香花在线影院观看在线播放 | 正在播放老肥熟妇露脸 | 国产超级va在线观看视频 | 精品久久8x国产免费观看 | 蜜桃无码一区二区三区 | 亚洲综合无码一区二区三区 | 日本大香伊一区二区三区 | 久久久久人妻一区精品色欧美 | 国产亚洲人成a在线v网站 | 国产精品国产自线拍免费软件 | 亚洲va欧美va天堂v国产综合 | 国模大胆一区二区三区 | 午夜成人1000部免费视频 | 成人免费视频视频在线观看 免费 | 九九热爱视频精品 | 日本一卡2卡3卡四卡精品网站 | 高潮毛片无遮挡高清免费视频 | 亚洲国产成人av在线观看 | 波多野结衣高清一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 丝袜 中出 制服 人妻 美腿 | www成人国产高清内射 | 国产精品丝袜黑色高跟鞋 | 又色又爽又黄的美女裸体网站 | 乱人伦中文视频在线观看 | 国产成人av免费观看 | 日日麻批免费40分钟无码 | www国产亚洲精品久久久日本 | 亚洲男人av香蕉爽爽爽爽 | 中文无码成人免费视频在线观看 | 亚洲色无码一区二区三区 | 图片区 小说区 区 亚洲五月 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 又色又爽又黄的美女裸体网站 | 76少妇精品导航 | 亚洲国产日韩a在线播放 | 激情亚洲一区国产精品 | 男女爱爱好爽视频免费看 | 日韩精品一区二区av在线 | 国产成人午夜福利在线播放 | 中文字幕无码日韩欧毛 | 亚洲精品国偷拍自产在线麻豆 | 久久久久久久人妻无码中文字幕爆 | 美女极度色诱视频国产 | 亚洲欧洲日本无在线码 | 人人妻人人澡人人爽欧美一区九九 | 日本www一道久久久免费榴莲 | 男人的天堂av网站 | 麻花豆传媒剧国产免费mv在线 | 国产激情精品一区二区三区 | 东京一本一道一二三区 | 午夜肉伦伦影院 | 亚洲成a人片在线观看日本 | 国内揄拍国内精品人妻 | 久久99精品久久久久婷婷 | 国产69精品久久久久app下载 | 中文无码精品a∨在线观看不卡 | 十八禁真人啪啪免费网站 | 内射老妇bbwx0c0ck | 香蕉久久久久久av成人 | 午夜福利一区二区三区在线观看 | 97精品国产97久久久久久免费 | 老司机亚洲精品影院 | 久久精品国产精品国产精品污 | 色综合久久88色综合天天 | 久久五月精品中文字幕 | 内射老妇bbwx0c0ck | 欧美丰满老熟妇xxxxx性 | 婷婷色婷婷开心五月四房播播 | 特级做a爰片毛片免费69 | 97资源共享在线视频 | 麻豆国产人妻欲求不满谁演的 | 亚洲一区二区观看播放 | 亚洲自偷精品视频自拍 | 日韩人妻无码中文字幕视频 | 久久99久久99精品中文字幕 | 成人女人看片免费视频放人 | 亚洲色偷偷男人的天堂 | 野狼第一精品社区 | 人人妻人人澡人人爽精品欧美 | 久久国内精品自在自线 | 亚无码乱人伦一区二区 | 亚洲国产精品美女久久久久 | 亚洲色欲色欲天天天www | 成人欧美一区二区三区 | 国产激情综合五月久久 | 日韩欧美成人免费观看 | 亚洲理论电影在线观看 | 18精品久久久无码午夜福利 | 中文字幕无码免费久久9一区9 | 美女毛片一区二区三区四区 | 亚洲熟妇色xxxxx欧美老妇y | 免费国产成人高清在线观看网站 | 久久综合九色综合欧美狠狠 | 国产成人精品无码播放 | 国产三级久久久精品麻豆三级 | 亚洲欧美国产精品专区久久 | 成在人线av无码免观看麻豆 | 宝宝好涨水快流出来免费视频 | 男女作爱免费网站 | 精品久久久无码中文字幕 | 精品人妻人人做人人爽 | 久久精品女人的天堂av | 欧美人与禽猛交狂配 | 成人精品视频一区二区 | 国产va免费精品观看 | 日韩欧美成人免费观看 | ass日本丰满熟妇pics | 1000部啪啪未满十八勿入下载 | 亚洲成a人片在线观看日本 | 亚洲精品午夜无码电影网 | 狠狠色色综合网站 | 亚洲热妇无码av在线播放 | 中文字幕无码乱人伦 | 人人妻人人藻人人爽欧美一区 | 久久久久久久女国产乱让韩 | 无遮无挡爽爽免费视频 | 女人高潮内射99精品 | 人妻少妇精品无码专区二区 | 99国产精品白浆在线观看免费 | 国产精品怡红院永久免费 | 国内综合精品午夜久久资源 | 人人妻人人澡人人爽欧美精品 | 国产成人无码a区在线观看视频app | 免费无码肉片在线观看 | 野狼第一精品社区 | 欧美 亚洲 国产 另类 | 高潮喷水的毛片 | 最新版天堂资源中文官网 | 久久zyz资源站无码中文动漫 | 99精品无人区乱码1区2区3区 | 国产亚洲精品久久久闺蜜 | 亚洲中文字幕无码一久久区 | 性欧美大战久久久久久久 | 国产精品亚洲一区二区三区喷水 | 久久久av男人的天堂 | 国产精华av午夜在线观看 | 色综合久久久无码中文字幕 | 欧美激情综合亚洲一二区 | 一本久道久久综合婷婷五月 | 欧美日韩色另类综合 | 2019午夜福利不卡片在线 | 少妇无套内谢久久久久 | 亚洲成av人影院在线观看 | 国产成人无码专区 | 天堂在线观看www | 亚洲人成无码网www | 国产成人精品久久亚洲高清不卡 | 无码人妻丰满熟妇区毛片18 | 国产乱人伦av在线无码 | 日本xxxx色视频在线观看免费 | 欧美丰满少妇xxxx性 | 亚洲欧美日韩国产精品一区二区 | 装睡被陌生人摸出水好爽 | 国产香蕉97碰碰久久人人 | 亚洲自偷自偷在线制服 | 国产精品无套呻吟在线 | 国产激情综合五月久久 | 久久午夜无码鲁丝片 | 国产麻豆精品一区二区三区v视界 | 强伦人妻一区二区三区视频18 | 丰满少妇熟乱xxxxx视频 | 丰满肥臀大屁股熟妇激情视频 | 乌克兰少妇性做爰 | 无码国产色欲xxxxx视频 | 欧美激情内射喷水高潮 | 永久免费精品精品永久-夜色 | 亚洲aⅴ无码成人网站国产app | 99国产精品白浆在线观看免费 | 国产激情无码一区二区app | 中文无码成人免费视频在线观看 | 丰满人妻一区二区三区免费视频 | 亚洲色偷偷男人的天堂 | 日韩少妇白浆无码系列 | 任你躁国产自任一区二区三区 | 国产成人一区二区三区在线观看 | 狠狠色欧美亚洲狠狠色www | 国语自产偷拍精品视频偷 | 国产在线一区二区三区四区五区 | 色五月丁香五月综合五月 | 久久午夜无码鲁丝片 | 2019nv天堂香蕉在线观看 | 午夜无码区在线观看 | 亚洲人成网站在线播放942 | 天天躁日日躁狠狠躁免费麻豆 | 九九久久精品国产免费看小说 | 又湿又紧又大又爽a视频国产 | 成熟人妻av无码专区 | 东京热无码av男人的天堂 | 综合人妻久久一区二区精品 | 国产精品人人爽人人做我的可爱 | 亚洲综合无码一区二区三区 | 久久精品国产大片免费观看 | 夜精品a片一区二区三区无码白浆 | 无遮挡啪啪摇乳动态图 | 久久亚洲精品中文字幕无男同 | 亚洲熟悉妇女xxx妇女av | 在线精品国产一区二区三区 | 欧美人妻一区二区三区 | 亚洲国产精品无码一区二区三区 | 婷婷丁香六月激情综合啪 | 55夜色66夜色国产精品视频 | 奇米影视888欧美在线观看 | 国产免费久久精品国产传媒 | 人妻与老人中文字幕 | 老头边吃奶边弄进去呻吟 | 国产av人人夜夜澡人人爽麻豆 | 国产免费久久久久久无码 | 粉嫩少妇内射浓精videos | 4hu四虎永久在线观看 | 中文字幕乱码中文乱码51精品 | 久久天天躁夜夜躁狠狠 | 高潮毛片无遮挡高清免费视频 | 久久久精品成人免费观看 | 最近中文2019字幕第二页 | 国产成人无码av在线影院 | 国产在热线精品视频 | 亚洲熟妇色xxxxx欧美老妇 | yw尤物av无码国产在线观看 | 亚洲经典千人经典日产 | 欧美成人免费全部网站 | 久久无码专区国产精品s | 国产成人无码av片在线观看不卡 | 131美女爱做视频 | 久久国产精品_国产精品 | 国产精品亚洲五月天高清 | 日本免费一区二区三区最新 | 国产明星裸体无码xxxx视频 | 波多野结衣一区二区三区av免费 | 免费看少妇作爱视频 | 日本护士毛茸茸高潮 | 思思久久99热只有频精品66 | 国产av一区二区三区最新精品 | 国产又爽又黄又刺激的视频 | 亚洲成av人片天堂网无码】 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 国产熟妇高潮叫床视频播放 | 18禁黄网站男男禁片免费观看 | 女人被男人爽到呻吟的视频 | 国产精品美女久久久网av | 亚洲精品一区二区三区四区五区 | 小sao货水好多真紧h无码视频 | 极品嫩模高潮叫床 | 小泽玛莉亚一区二区视频在线 | 午夜精品久久久内射近拍高清 | 精品国产一区二区三区四区在线看 | 日韩在线不卡免费视频一区 | 伦伦影院午夜理论片 | 欧美精品免费观看二区 | 久久午夜无码鲁丝片 | 亚洲一区二区三区香蕉 | 婷婷丁香五月天综合东京热 | 日韩精品无码一本二本三本色 | 国产又爽又猛又粗的视频a片 | av香港经典三级级 在线 | 无码av免费一区二区三区试看 | 国产精品久久久午夜夜伦鲁鲁 | 四虎永久在线精品免费网址 | 国产精品久久国产三级国 | 国产av久久久久精东av | 在线播放免费人成毛片乱码 | 中文字幕色婷婷在线视频 | 性做久久久久久久免费看 | 在线观看国产一区二区三区 | av在线亚洲欧洲日产一区二区 | 国产69精品久久久久app下载 | 亚洲国产一区二区三区在线观看 | 久久国语露脸国产精品电影 | 国产人妻人伦精品1国产丝袜 | 无码福利日韩神码福利片 | 国产另类ts人妖一区二区 | 久久精品丝袜高跟鞋 | 久久久精品人妻久久影视 | 又粗又大又硬又长又爽 | 成人性做爰aaa片免费看 | 欧美人与善在线com | 亚洲の无码国产の无码步美 | 国产猛烈高潮尖叫视频免费 | 国产小呦泬泬99精品 | 国产成人精品优优av | 久久精品视频在线看15 | 88国产精品欧美一区二区三区 | 999久久久国产精品消防器材 | 黑人玩弄人妻中文在线 | 国产一区二区三区四区五区加勒比 | 初尝人妻少妇中文字幕 | 精品久久久久香蕉网 | 少妇性俱乐部纵欲狂欢电影 | 四十如虎的丰满熟妇啪啪 | 久久午夜无码鲁丝片秋霞 | 波多野结衣av一区二区全免费观看 | 免费男性肉肉影院 | 在教室伦流澡到高潮hnp视频 | 麻豆av传媒蜜桃天美传媒 | 中文久久乱码一区二区 | 日韩人妻无码中文字幕视频 | 中文字幕久久久久人妻 | 国产精品久久久久无码av色戒 | 国产成人综合在线女婷五月99播放 | 天天躁日日躁狠狠躁免费麻豆 | 中文字幕乱妇无码av在线 | 日本精品少妇一区二区三区 | 成人无码精品1区2区3区免费看 | 中文字幕乱妇无码av在线 | 中文字幕乱妇无码av在线 | 久久久久久国产精品无码下载 | 久久久久成人片免费观看蜜芽 | 噜噜噜亚洲色成人网站 | 国产午夜亚洲精品不卡 | 国产尤物精品视频 | 日韩在线不卡免费视频一区 | 丰满人妻翻云覆雨呻吟视频 | 欧美黑人乱大交 | 青春草在线视频免费观看 | 97精品国产97久久久久久免费 | 中文字幕无码av波多野吉衣 | 亚洲中文字幕在线观看 | 国产成人精品久久亚洲高清不卡 | 国产成人精品无码播放 | 在教室伦流澡到高潮hnp视频 | 亚洲日韩av一区二区三区中文 | 精品国产一区二区三区四区在线看 | 两性色午夜免费视频 | 国内精品九九久久久精品 | 亚洲精品成a人在线观看 | 亚洲成av人综合在线观看 | 久久婷婷五月综合色国产香蕉 | 55夜色66夜色国产精品视频 | 日韩精品a片一区二区三区妖精 | 波多野结衣一区二区三区av免费 | 亚洲春色在线视频 | 高潮毛片无遮挡高清免费 | 图片小说视频一区二区 | 国产精品毛多多水多 | 中文精品无码中文字幕无码专区 | 波多野结衣一区二区三区av免费 | 2019nv天堂香蕉在线观看 | 少妇性荡欲午夜性开放视频剧场 | 中文字幕av伊人av无码av | 国产精品久久国产三级国 | 领导边摸边吃奶边做爽在线观看 | 欧美 丝袜 自拍 制服 另类 | 人妻少妇精品无码专区二区 | 国产精品无码mv在线观看 | 国产sm调教视频在线观看 | 久久亚洲日韩精品一区二区三区 | 亚洲爆乳无码专区 | 色一情一乱一伦一区二区三欧美 | 亚洲无人区午夜福利码高清完整版 | 一本色道久久综合狠狠躁 | 国产va免费精品观看 | 大肉大捧一进一出好爽视频 | 亚洲一区二区三区偷拍女厕 | 97色伦图片97综合影院 | 亚洲精品国产a久久久久久 | 国产精品美女久久久久av爽李琼 | 午夜时刻免费入口 | 亚洲一区二区三区香蕉 | 一二三四在线观看免费视频 | 国产又粗又硬又大爽黄老大爷视 | 蜜桃视频插满18在线观看 | 无码国模国产在线观看 | 风流少妇按摩来高潮 | aa片在线观看视频在线播放 | 日韩精品无码一本二本三本色 | 又大又紧又粉嫩18p少妇 | 国产成人精品无码播放 | 国产两女互慰高潮视频在线观看 | 国产又爽又黄又刺激的视频 | 国内精品久久毛片一区二区 | 美女黄网站人色视频免费国产 | 一本无码人妻在中文字幕免费 | 7777奇米四色成人眼影 | 99视频精品全部免费免费观看 | 国产成人综合在线女婷五月99播放 | 亚洲人成影院在线观看 | 岛国片人妻三上悠亚 | 狠狠色噜噜狠狠狠7777奇米 | 成人精品天堂一区二区三区 | 嫩b人妻精品一区二区三区 | 日韩av无码中文无码电影 | 亚洲精品国产第一综合99久久 | 久久久婷婷五月亚洲97号色 | 精品夜夜澡人妻无码av蜜桃 | 99久久精品午夜一区二区 | 黑人玩弄人妻中文在线 | 丁香啪啪综合成人亚洲 | 欧美性黑人极品hd | 老熟女重囗味hdxx69 | 又粗又大又硬毛片免费看 | 成人无码精品1区2区3区免费看 | 亚洲精品无码国产 | 亚洲国产成人a精品不卡在线 | 亚洲性无码av中文字幕 | 男女下面进入的视频免费午夜 | 亚洲综合久久一区二区 | 99精品无人区乱码1区2区3区 | 国产色xx群视频射精 | 草草网站影院白丝内射 | 免费无码av一区二区 | 国产一精品一av一免费 | 女人被男人躁得好爽免费视频 | 色欲久久久天天天综合网精品 | 久久五月精品中文字幕 | 色婷婷综合激情综在线播放 | 成人亚洲精品久久久久 | 国产精品无码成人午夜电影 | 久久久久人妻一区精品色欧美 | 四十如虎的丰满熟妇啪啪 | 乱人伦人妻中文字幕无码久久网 | 国产口爆吞精在线视频 | 日韩人妻少妇一区二区三区 | 大乳丰满人妻中文字幕日本 | 香港三级日本三级妇三级 | 国产亚洲人成a在线v网站 | 少妇被粗大的猛进出69影院 | 又大又硬又黄的免费视频 | 荫蒂添的好舒服视频囗交 | 国产午夜亚洲精品不卡 | 国产高清不卡无码视频 | 乱码av麻豆丝袜熟女系列 | aa片在线观看视频在线播放 | 国产人妻精品午夜福利免费 | 奇米影视7777久久精品 | 午夜福利试看120秒体验区 | 激情综合激情五月俺也去 | 国产熟妇另类久久久久 | 国产av无码专区亚洲awww | 国产真实夫妇视频 | 国产一区二区三区日韩精品 | 自拍偷自拍亚洲精品被多人伦好爽 | www国产精品内射老师 | 亚洲色欲色欲欲www在线 | 大肉大捧一进一出好爽视频 | 久久久久久av无码免费看大片 | 大屁股大乳丰满人妻 | 天天摸天天透天天添 | 无码纯肉视频在线观看 | 国产乱子伦视频在线播放 | 国产美女极度色诱视频www | 亚洲自偷自拍另类第1页 | 丰满诱人的人妻3 | 亚洲人成网站色7799 | 丝袜美腿亚洲一区二区 | 日韩av无码一区二区三区 | 日日躁夜夜躁狠狠躁 | 久久精品国产亚洲精品 | 国产人妻久久精品二区三区老狼 | 夜夜影院未满十八勿进 | 国产三级精品三级男人的天堂 | 国产成人无码a区在线观看视频app | 国精品人妻无码一区二区三区蜜柚 | 熟妇人妻中文av无码 | 在线а√天堂中文官网 | 精品偷拍一区二区三区在线看 | 激情国产av做激情国产爱 | 日日碰狠狠躁久久躁蜜桃 | 国产欧美精品一区二区三区 | 久久精品国产99久久6动漫 | 无遮挡国产高潮视频免费观看 | 国产成人无码一二三区视频 | 7777奇米四色成人眼影 | 狂野欧美性猛xxxx乱大交 |