If the directory/file paths specified in this guide do not exist in your WSO2 product, see Directory Structure of WSO2 Products to locate the paths applicable to your product.
Skip to end of metadata
Go to start of metadata

The HTTP and HTTPS transports in WSO2 products are based on Apache Tomcat's connector implementation. The connector configurations for both HTTP and HTTPS are available in the catalina-server.xml file (stored in the <PRODUCT_HOME>/repository/conf/tomcat/ directory). The transport class that should be specified for each connector configuration in the catalina-server.xml file is as follows:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"/>

See the following topics for instructions on configuring this transport:

Configuring the HTTP Connector Parameters

The following table lists the parameters that you can configure for the HTTP connector. Note that these are only a subset of the supported parameters. The servlet HTTP transport uses the org.apache.catalina.connector.Connector implementation from Apache Tomcat. So the servlet HTTP transport actually accepts any parameter accepted by the connector implementation. For the complete list of supported parameters, see Apache Tomcat's connector configuration reference.

In the transport parameter tables, the literals displayed in italics under the "Possible Values" column should be considered as fixed literal constant values. Those values can be directly put into the transport configurations.

Parameter Name


Possible Values

Default Value


The port over which this transport receiver listens for incoming messages.

A positive integer less than 65535

9763 for HTTP Connector

9443 for HTTPS Connector

redirectPortIf 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.A positive integer less than 655359443
bindOnInitControls when the socket used by the connector is bound. By default it is bound when the connector is initiated and unbound when the connector is destroyed. If set to false, the socket will be bound when the connector is started and unbound when it is stopped.


When used, this transport listener will accept messages arriving through a HTTP proxy server which listens on the specified proxy port. Apache mod_proxy should be enabled on the proxy server. All the WSDLs generated will contain the proxy port value as the listener port.

A positive integer less than 65535


The maximum size of the HTTP request and response header
in bytes.

A positive integer


acceptorThreadCountThe number of threads to be used to accept connections. Increase this value on a multi CPU machine, although you would never really need more than 2. Also, with a lot of non keep alive connections, you might want to increase this value as well.


The maximum number of worker threads created by the receiver to handle incoming requests. This parameter largely determines the number of concurrent connections that can be handled by the transport.

A positive integer


minSpareThreadsThe minimum number of threads always kept running. If not specified, the default will be used.


Use this parameter to enable DNS lookups in order to return the actual host name of the remote client. Disabling DNS lookups at transport level generally improves performance. By default, DNS lookups are disabled.

true, false



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.

true, false


connectionUploadTimeoutSpecifies the timeout, in milliseconds, to use while a data upload is in progress. This only takes effect if disableUploadTimeout is set to false.


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 is not present. 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.

true, false, want



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.

-1 or any positive integer



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.

A positive integer


serverOverrides the Server header for the http response. If set, the value for this attribute overrides the Tomcat default and any Server header set by a web application. If not set, any value specified by the application is used. Any stringWSO2 Carbon Server


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".

on, off, force



If compression is set to "on" then this attribute may be used to specify the minimum amount of data before the output is compressed.

A positive integer2048


Indicate a 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.

A comma-separated list of
regular expressions

empty string


Use this parameter to indicate a list of MIME types for which HTTP compression may be used.

A comma-separated list of
valid mime types

text/html, text/xml, text/plain

URIEncodingThis specifies the character encoding used to decode the URI bytes, after %xx decoding the URL.URI encoding Character set nameISO-8859-1

This servlet transport implementation can be further tuned up using the following parameters for outbound connections.

Parameter Name



Possible Values

Default Value


The version of HTTP protocol to be used for outgoing messages.


HTTP/1.0, HTTP/1.1



Effective only when the HTTP version is 1.1 (i.e. the value of the PROTOCOL parameter should be HTTP/1.1). Use this parameter to enable chunking support for the transport sender.



Not Chunked


The socket timeout value in milliseconds, for outbound connections.


A positive integer

60000 ms


The connection timeout value in milliseconds, for outbound connections.


A positive integer

60000 ms


Set this parameter to "true" if you need to disable the soap action for SOAP 1.2 messages.


true, false


Defining multiple tomcat connectors

You have the option of defining multiple tomcat connectors in the catalina-server.xml file. Note that when you define multiple connectors, all the endpoints of the applications deployed in your WSO2 server will still be exposed through all the connector ports. However, you can configure your load balancer to ensure that only the relevant applications are exposed through the required connector port.

Therefore, you can use multiple connectors to strictly separate the applications deployed in your server as explained below.

  1. See the example given below where two connectors are defined in the catalina-server.xml file.

    <!-- Connector using port 9763 -->
     <Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
    <!-- Connector using port 9764 -->
     <Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
  2. Configure your load balancer so that the relevant applications are exposed through the required connector port.
  • No labels