You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/12/10 13:57:38 UTC

cvs commit: jakarta-tomcat-catalina/webapps/docs/config ajp.xml http.xml project.xml coyote.xml jk.xml

remm        2003/12/10 04:57:38

  Modified:    webapps/docs/config project.xml
  Added:       webapps/docs/config ajp.xml http.xml
  Removed:     webapps/docs/config coyote.xml jk.xml
  Log:
  - Rename the connectors to the protocol they support: HTTP and AJP.
  - Fix obsolete information in the HTTP connector documentation.
  
  Revision  Changes    Path
  1.4       +2 -2      jakarta-tomcat-catalina/webapps/docs/config/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/config/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml	10 Dec 2003 12:38:01 -0000	1.3
  +++ project.xml	10 Dec 2003 12:57:38 -0000	1.4
  @@ -22,8 +22,8 @@
       </menu>
   
       <menu name="Connectors">
  -        <item name="HTTP/1.1"              href="coyote.html"/>
  -        <item name="JK"                    href="jk.html"/>
  +        <item name="HTTP"                  href="http.html"/>
  +        <item name="AJP"                   href="ajp.html"/>
       </menu>
   
       <menu name="Containers">
  
  
  
  1.1                  jakarta-tomcat-catalina/webapps/docs/config/ajp.xml
  
  Index: ajp.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE document [
    <!ENTITY project SYSTEM "project.xml">
  ]>
  <document url="ajp.html">
  
    &project;
  
    <properties>
      <author email="remm@apache.org">Remy Maucherat</author>
      <title>The AJP Connector</title>
    </properties>
  
  <body>
  
  
  <section name="Introduction">
  
    <p>The <strong>AJP Connector</strong> element represents a
    <strong>Connector</strong> component that communicates with a web
    connector via the <code>AJP</code> 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.</p>
  
    <p>This connector supports load balancing when used in conjunction with
    the <code>jvmRoute</code> attribute of the 
    <a href="engine.html">Engine</a>.</p>
  
  </section>
  
  
  <section name="Attributes">
  
    <subsection name="Common Attributes">
  
    <p>All implementations of <strong>Connector</strong>
    support the following attributes:</p>
  
    <attributes>
  
      <attribute name="enableLookups" required="false">
        <p>Set to <code>true</code> if you want calls to
        <code>request.getRemoteHost()</code> to perform DNS lookups in
        order to return the actual host name of the remote client.  Set
        to <code>false</code> to skip the DNS lookup and return the IP
        address in String form instead (thereby improving performance).
        By default, DNS lookups are enabled.</p>
      </attribute>
  
      <attribute name="maxPostSize" required="false">
        <p>The maximum size in bytes of the POST which will be handled by 
        the container FORM URL parameter parsing. The feature can be disbled by 
        setting this attribute to a value inferior or equal to 0. 
        If not specified, this attribute is set to 2097152 (2 megabytes).</p>
      </attribute>
  
      <attribute name="redirectPort" required="false">
        <p>If this <strong>Connector</strong> is supporting non-SSL
        requests, and a request is received for which a matching
        <code>&lt;security-constraint&gt;</code> requires SSL transport,
        Catalina will automatically redirect the request to the port
        number specified here.</p>
      </attribute>
  
      <attribute name="scheme" required="false">
        <p>Set this attribute to the name of the protocol you wish to have
        returned by calls to <code>request.getScheme()</code>.  For
        example, you would set this attribute to "<code>https</code>"
        for an SSL Connector.  The default value is "<code>http</code>".</p>
      </attribute>
  
      <attribute name="secure" required="false">
        <p>Set this attribute to <code>true</code> if you wish to have
        calls to <code>request.isSecure()</code> to return <code>true</code>
        for requests received by this Connector (you would want this on an
        SSL Connector).  The default value is <code>false</code>.</p>
      </attribute>
  
      <attribute name="URIEncoding" required="false">
        <p>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.
        </p>
      </attribute>
  
    </attributes>
  
    </subsection>
  
    <subsection name="Standard Implementation">
  
    <p>The standard implementation of <strong>AJP Connector</strong> is
    <strong>org.apache.coyote.tomcat5.CoyoteConnector</strong>, but you
    must specify the protocol attribute (see below).</p>
  
    <p><strong>This implementation supports the AJP 1.3 protocol.</strong></p>
  
    <p>It supports the following additional attributes (in addition to the
    common attributes listed above):</p>
  
    <attributes>
  
      <attribute name="debug" required="false">
        <p>The debugging detail level of log messages generated by this
        component, with higher numbers creating more detailed output.
        If not specified, this attribute is set to zero (0).</p>
      </attribute>
  
      <attribute name="protocol" required="true">
        <p>This attribute value must be <code>AJP/1.3</code> to use the AJP
        handler.</p>
      </attribute>
  
    </attributes>
  
    </subsection>
  
  </section>
  
  
  <section name="Nested Components">
  
    <p></p>
  
  </section>
  
  
  <section name="Configuration HOWTOs">
  
    <p>Please refer to the <a href="http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/doc/">JK documentation</a> 
       for HOWTOs and complete configuration information.</p>
  
  </section>
  
  
  </body>
  
  </document>
  
  
  
  1.1                  jakarta-tomcat-catalina/webapps/docs/config/http.xml
  
  Index: http.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE document [
    <!ENTITY project SYSTEM "project.xml">
  ]>
  <document url="http.html">
  
    &project;
  
    <properties>
      <author email="craigmcc@apache.org">Craig R. McClanahan</author>
      <title>The HTTP Connector</title>
    </properties>
  
  <body>
  
  
  <section name="Introduction">
  
    <p>The <strong>HTTP Connector</strong> element represents a
    <strong>Connector</strong> component that supports the HTTP/1.1 protocol.
    It enables Catalina to function as a stand-alone web server, in addition
    to its ability to execute servlets and JSP pages.  A particular instance
    of this component listens for connections on a specific TCP port number
    on the server.  One or more such <strong>Connectors</strong> can be
    configured as part of a single <a href="service.html">Service</a>, each
    forwarding to the associated <a href="engine.html">Engine</a> to perform
    request processing and create the response.</p>
  
    <p>If you wish to configure the <strong>Connector</strong> that is used
    for connections to web servers using the AJP protocol (such as the
    <code>mod_jk</code> connector for Apache 1.3), see
    <a href="ajp.html">here</a> instead.</p>
  
    <p>At server startup time, this <strong>Connector</strong> will create a
    number of request processing threads (based on the value configured for
    the <code>minSpareThreads</code> attribute).  Each incoming request requires
    a thread for the duration of that request.  If more simultaneous requests
    are received than can be handled by the currently available request
    processing threads, additional threads will be created up to the
    configured maximum (the value of the <code>maxThreads</code> attribute).
    If still more simultaneous requests are received, they are stacked up
    inside the server socket created by the <strong>Connector</strong>, up to
    the configured maximum (the value of the <code>acceptCount</code>
    attribute.  Any further simultaneous requests will receive "connection
    refused" errors, until resources are available to process them.</p>
  
  </section>
  
  
  <section name="Attributes">
  
    <subsection name="Common Attributes">
  
    <p>All implementations of <strong>Connector</strong>
    support the following attributes:</p>
  
    <attributes>
  
      <attribute name="enableLookups" required="false">
        <p>Set to <code>true</code> if you want calls to
        <code>request.getRemoteHost()</code> to perform DNS lookups in
        order to return the actual host name of the remote client.  Set
        to <code>false</code> to skip the DNS lookup and return the IP
        address in String form instead (thereby improving performance).
        By default, DNS lookups are enabled.</p>
      </attribute>
  
      <attribute name="maxPostSize" required="false">
        <p>The maximum size in bytes of the POST which will be handled by 
        the container FORM URL parameter parsing. The feature can be disbled by 
        setting this attribute to a value inferior or equal to 0. 
        If not specified, this attribute is set to 2097152 (2 megabytes).</p>
      </attribute>
  
      <attribute name="redirectPort" required="false">
        <p>If this <strong>Connector</strong> is supporting non-SSL
        requests, and a request is received for which a matching
        <code>&lt;security-constraint&gt;</code> requires SSL transport,
        Catalina will automatically redirect the request to the port
        number specified here.</p>
      </attribute>
  
      <attribute name="scheme" required="false">
        <p>Set this attribute to the name of the protocol you wish to have
        returned by calls to <code>request.getScheme()</code>.  For
        example, you would set this attribute to "<code>https</code>"
        for an SSL Connector.  The default value is "<code>http</code>".
        See <a href="#SSL Support">SSL Support</a> for more information.</p>
      </attribute>
  
      <attribute name="secure" required="false">
        <p>Set this attribute to <code>true</code> if you wish to have
        calls to <code>request.isSecure()</code> to return <code>true</code>
        for requests received by this Connector (you would want this on an
        SSL Connector).  The default value is <code>false</code>.</p>
      </attribute>
  
      <attribute name="URIEncoding" required="false">
        <p>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.
        </p>
      </attribute>
  
    </attributes>
  
    </subsection>
  
    <subsection name="Standard Implementation">
  
    <p>The standard implementation of the <strong>HTTP 
    Connector</strong> is 
    <strong>org.apache.coyote.tomcat5.CoyoteConnector</strong>.
    It supports the following additional attributes (in addition to the
    common attributes listed above):</p>
  
    <attributes>
  
      <attribute name="acceptCount" required="false">
        <p>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.</p>
      </attribute>
  
      <attribute name="address" required="false">
        <p>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.</p>
      </attribute>
  
      <attribute name="bufferSize" required="false">
        <p>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.</p>
      </attribute>
  
      <attribute name="compression" required="false">
        <p>The <strong>Connector</strong> 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".</p>
      </attribute>
  
      <attribute name="connectionLinger" required="false">
        <p>The number of milliseconds during which the sockets used by this
        <strong>Connector</strong> will linger when they are closed. 
        The default value is -1 (socket linger is disabled).</p>
      </attribute>
  
      <attribute name="connectionTimeout" required="false">
        <p>The number of milliseconds this <strong>Connector</strong> will wait,
        after accepting a connection, for the request URI line to be
        presented.  The default value is 60000 (i.e. 60 seconds).</p>
      </attribute>
  
      <attribute name="debug" required="false">
        <p>The debugging detail level of log messages generated by this
        component, with higher numbers creating more detailed output.
        If not specified, this attribute is set to zero (0).</p>
      </attribute>
  
      <attribute name="disableUploadTimeout" required="false">
        <p>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 "false".</p>
      </attribute>
  
      <attribute name="maxKeepAliveRequests" required="false">
        <p>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. If
        not specified, this attribute is set to 100.</p>
      </attribute>
  
      <attribute name="maxSpareThreads" required="false">
        <p>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.</p>
      </attribute>
  
      <attribute name="maxThreads" required="false">
        <p>The maximum number of request processing threads to be created
        by this <strong>Connector</strong>, which therefore determines the
        maximum number of simultaneous requests that can be handled.  If
        not specified, this attribute is set to 200.</p>
      </attribute>
  
      <attribute name="minSpareThreads" required="false">
        <p>The number of request processing threads that will be created
        when this <strong>Connector</strong> 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 <code>maxThreads</code>.  The default value is 4.</p>
      </attribute>
  
      <attribute name="port" required="true">
        <p>The TCP port number on which this <strong>Connector</strong>
        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.</p>
      </attribute>
  
      <attribute name="protocol" required="false">
        <p>This attribute value must be <code>HTTP/1.1</code> to use the HTTP
        handler, which is the default.</p>
      </attribute>
  
      <attribute name="proxyName" required="false">
        <p>If this <strong>Connector</strong> is being used in a proxy
        configuration, configure this attribute to specify the server name
        to be returned for calls to <code>request.getServerName()</code>.
        See <a href="#Proxy Support">Proxy Support</a> for more
        information.</p>
      </attribute>
  
      <attribute name="proxyPort" required="false">
        <p>If this <strong>Connector</strong> is being used in a proxy
        configuration, configure this attribute to specify the server port
        to be returned for calls to <code>request.getServerPort()</code>.
        See <a href="#Proxy Support">Proxy Support</a> for more
        information.</p>
      </attribute>
  
      <attribute name="socketBuffer" required="false">
        <p>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.</p>
      </attribute>
  
      <attribute name="tcpNoDelay" required="false">
        <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
        set on the server socket, which improves performance under most
        circumstances.  This is set to <code>true</code> by default.</p>
      </attribute>
  
    </attributes>
  
    </subsection>
  
  </section>
  
  
  <section name="Nested Components">
  
    <p>The only element that may be embedded inside a <strong>Connector</strong>
    element is a <strong>Factory</strong> element, which is used to configure
    a server socket factory component.  This element is never required, but
    is still supported for backwards compatibility with earlier version of
    Tomcat.</p>
  
  </section>
  
  
  <section name="Special Features">
  
  
    <subsection name="HTTP/1.1 and HTTP/1.0 Support">
  
    <p>This <strong>Connector</strong> 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 
    <strong>Connector</strong> will gracefully fall back to supporting this 
    protocol as well.  No special configuration is required to enable this 
    support. The <strong>Connector</strong> also supports HTTP/1.0 
    keep-alive.</p>
  
    <p>RFC 2616 requires that HTTP servers always begin their responses with
    the highest HTTP version that they claim to support.  Therefore, this
    <strong>Connector</strong> will always return <code>HTTP/1.1</code> at
    the beginning of its responses.</p>
  
    </subsection>
  
  
    <subsection name="Logging Output">
  
    <p>Any debugging or exception logging information generated by this
    <strong>Connector</strong> will be automatically routed to the
    <a href="logger.html">Logger</a> that is associated with our related
    <a href="engine.html">Engine</a>.  No special configuration is required
    to enable this support.</p>
  
    </subsection>
  
  
    <subsection name="Proxy Support">
  
    <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
    be used when Tomcat is run behind a proxy server.  These attributes
    modify the values returned to web applications that call the
    <code>request.getServerName()</code> and <code>request.getServerPort()</code>
    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.</p>
  
    <p>For more information, see the
    <a href="../proxy-howto.html">Proxy Support HOW-TO</a>.</p>
  
    </subsection>
  
  
    <subsection name="SSL Support">
  
    <p>You can enable SSL support for a particular instance of this
    <strong>Connector</strong> by setting the <code>secure</code> attribute to
    <code>true</code>.  In addition, you may need to configure the following 
    attributes:</p>
  
    <attributes>
  
      <attribute name="algorithm" required="false">
        <p>The certificate encoding algorithm to be used.  If not
        specified, the default value is <code>SunX509</code>.</p>
      </attribute>
  
      <attribute name="clientAuth" required="false">
        <p>Set to <code>true</code> if you want the SSL stack to
        require a valid certificate chain from the client before
        accepting a connection.  A <code>false</code> value (which
        is the default) will not require a certificate chain unless
        the client requests a resource protected by a security constraint
        that uses <code>CLIENT-CERT</code> authentication.</p>
      </attribute>
  
      <attribute name="keystoreFile" required="false">
        <p>The pathname of the keystore file where you have stored the
        server certificate to be loaded.  By default, the pathname is
        the file "<code>.keystore</code>" in the operating system home
        directory of the user that is running Tomcat.</p>
      </attribute>
  
      <attribute name="keystorePass" required="false">
        <p>The password used to access the server certificate from the
        specified keystore file.  The default value is "<code>changeit</code>".
        </p>
      </attribute>
  
      <attribute name="keystoreType" required="false">
        <p>The type of keystore file to be used for the server certificate.
        If not specified, the default value is "<code>JKS</code>".</p>
      </attribute>
  
      <attribute name="sslProtocol" required="false">
        <p>The version of the SSL protocol to use.  If not specified,
        the default is "<code>TLS</code>".</p>
      </attribute>
   
      <attribute name="ciphers" required="false">
        <p>A comma seperated list of the encryption ciphers that may be used.
        If not specified, then any available cipher may be used.</p>
      </attribute>
  
    </attributes>
  
    <p>For more information, see the
    <a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
  
    </subsection>
  
  
  </section>
  
  
  </body>
  
  </document>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org