<document>
<localtoc/>

- See the index for a list of all the tags.
- See <cluster> tag configuration
- See <server> tag configuration

<parents>http, connection-port, protocol</parents>

<accept-listen-backlog> configures operating system TCP listen queue size for the port.

<parents>http, connection-port, protocol</parents>

<accept-thread-min> configures the maximum number of threads listening for new connections on this port.

<parents>http, connection-port, protocol</parents>

<accept-thread-min> configures the minimum number of threads listening for new connections on this port.

<parents>server</parents>

The <address> defines the IP interface for a port. A value of '*' binds to all ports. Because the <address> is specific to a server, it should only be defined in a <server> tag, not a <server-default>.

<default>*</default> <resin xmlns="http://caucho.com/ns/resin"> <cluster id="web-tier"> <server id="web-a" address="192.168.1.1" port="6800"> <http address="10.0.1.1" port="80"/> </server> <server id="web-b" address="192.168.1.2" port="6800"> <http address="10.0.1.2" port="80"/> </server> ... </cluster> </resin> <parents>http, protocol, cluster-port</parents>

<ca-certificate-file> configures the path to a CA certificate file for intermediate CA support.

<parents>http, protocol, cluster-port</parents>

<ca-certificate-path> configures the path to a CA certificate directory for intermediate CA support.

<parents>http, protocol, cluster-port</parents>

<ca-revocation-file> configures the path to a list of revoked CA certificates.

<parents>http, protocol, cluster-port</parents>

<ca-revocation-path> configures the path to a list of revoked CA certificates.

<parents>http, protocol, cluster-port</parents>

<certificate-file> configures the path to the server's SSL certificate.

<parents>http, protocol, cluster-port</parents>

<certificate-chain-file> configures the path to the server's SSL certificate for OpenSSL.

<parents>http, protocol, cluster-port</parents>

<certificate-key-file> configures the path to the server's SSL private key certificate for OpenSSL.

<parents>http, protocol, cluster-port</parents>

<cipher-suite> configures the path to the server's SSL cryptographic ciphers.

<parents>server</parents>

<cluster-port> configures the cluster and load balancing socket, for load balancing, distributed sessions, and distributed management.

When configuring Resin in a load-balanced cluster, each Resin instance will have its own <srun> configuration, which Resin uses for distributed session management and for the load balancing itself.

When configuring multiple JVMs, each <srun> will have a unique <server-id> which allows the -server command-line to select which ports the server should listen to.

address hostname of the interface to listen to *
jsse-ssl configures the port to use JSSE for SSL none
openssl configures the port to use OpenSSL none
port port to listen to required
socket-timeout timeout waiting to read/write to idle client 65s
accept-listen-backlog The socket factory's listen backlog for receiving sockets 100
tcp-no-delay sets the NO_DELAY socket parameter true

The class that corresponds to <srun> is

<parents>server</parents>

<connection-max> configures the maximum number of concurrent connections on this port.

<parents>server</parents>

<http> configures a HTTP or HTTPS port listening for HTTP requests.

When configuring multiple JVMs, each <http> will have a unique <server-id> which allows the -server command-line to select which ports the server should listen to.

address IP address of the interface to listen to *
port port to listen to required
tcp-no-delay sets the NO_DELAY socket parameter true
socket-timeout timeout waiting to write to idle client 65s
accept-listen-backlog The socket factory's listen backlog for receiving sockets 100
virtual-host forces all requests to this <http> to use the named virtual host none
openssl configures the port to use OpenSSL none
jsse-ssl configures the port to use JSSE for SSL none

The virtual-host attribute overrides the browser's Host directive, specifying the explicit host and port for `request.getServerName()` and `getServerPort()`. It is not used in most virtual host configurations. Only IP-based virtual hosts which wish to ignore the browser's Host will use @virtual-host.

<parents>http, protocol, cluster-port</parents>

<jsse-ssl> configures the port to use JSSE for SSL support.

The SSL section of the Security documentation provides a comprehensive overview of SSL.

alias Configures the key alias name in the key store file. optional
key-store-file Path to the certificate key store file required
password Private key password required
key-store-type Type of the keystore jks
key-manager-factory Special factory for creating keys required
ssl-context Special configuration for the ssl context. optional
verify-client Settings for client validation required
<parents>http, connection-port, protocol</parents>

<keepalive-max> configures the maximum number of keepalives on this port.

<parents>http, protocol, cluster-port</parents>

<openssl> configures the port to use OpenSSL for SSL support (requires Resin Professional). OpenSSL is a fast C implementation of SSL security used by Apache. Resin's configuration is OpenSSL follows Apache's configuration, so any documentation on installing SSL certificates can use documentation for Apache.

The SSL section of the Security documentation provides a comprehensive overview of SSL.

ca-certificate-file Path to a CA certificate file for intermediate CA support optional
ca-certificate-path Path to a directory of CA certificates for intermediate CA support optional
ca-revocation-file Path to a list of revoked CA certificates optional
ca-revocation-path Path to a directory of revoked CA certificates optional
certificate-file Path to the server's SSL certificate required
certificate-chain-file Path to the certificate chains for client validation. optional
certificate-key-file Path to the server's SSL private key certificate required
cipher-suite Additions and restrictions to the allowed cryptography ciphers see openssl-tags
password Password protecting the public key see openssl-tags
protocol Optional restrictions on the SSL protocol see openssl-tags
session-cache Boolean enabling caching of SSL sessions for performance false
session-cache-timeout Timeout for session cache values 30s
unclean-shutdown Flag indicating that openssl sockets can be shutdown uncleanly false
verify-client Options for client validation none
verify-depth Depth of the client certificate chains to validate unlimited
<parents>openssl</parents>

<password> configures the SSL private key certificate password.

<parents>http, protocol, server</parents>

The <port> defines the TCP port the HTTP or protocol should bind to.

<resin xmlns="http://caucho.com/ns/resin"> <cluster id="web-tier"> <server id="web-a" address="192.168.1.1" port="6800"> <http address="10.0.1.1" port="80"/> <http address="192.168.1.1" port="8080"/> </server> ... </cluster> </resin> <parents>server</parents>

<protocol> configures custom socket protocols using Resin's thread and connection management.

The custom protocol will extend from com.caucho.server.port.Protocol.

<example> <resin xmlns="http://caucho.com/ns/resin"> <cluster id="web-tier"> <server id="a"> <protocol address="localhost" port="8888"> <type>example.Magic8BallProtocol</type> </port> </server> </cluster> </resin> <parents>openssl</parents>

<protocol> configures the SSL allowed protocols.

<parents>openssl</parents>

<session-cache> configures the SSL session cache.

<parents>openssl</parents>

<session-cache> configures the SSL session cache timeout.

<parents>http, cluster-port, protocol, server</parents>

<socket-timeout> overrides the socket timeout from the <server>.

<parents>http, protocol, cluster-port</parents>

Sets the tcp-no-delay parameter.

<parents>openssl</parents>

<unclean-shutdown> configures the OpenSSL unclean shutdown on connection close.

<parents>openssl</parents>

<verify-client> sets the client certificate configuration. If the certificate is available, it will be put in the javax.servlet.request.X509Certificate request attribute.

<deftable>
none do not ask for a client certificate (default)
required require a client certificate
optional ask for a client certificate if availiable
optional-no-ca ask for a client certificate, but do not validate the Certificate Authority
</deftable> X509Certificate []certs = (X509Certificate []) request.getAttribute("javax.servlet.request.X509Certificate"); <parents>openssl</parents>

<verify-depth> configures the OpenSSL client verification depth.

</document>