Sun Java System Application Server 9.1 Administration Reference

H

health-checker

Defines a health checker for the parent server-ref or cluster-ref element.

Superelements

cluster-ref, server-ref

Subelements

none

Attributes

The following table describes attributes for the health-checker element.

Table 1–67 health-checker Attributes

Attribute 

Default 

Description 

url

/

Specifies the URL to ping to determine the health state of a listener. This must be a relative URL. 

interval-in-seconds

30

Specifies the interval between health checks. A value of zero means that health checking is disabled. 

timeout-in-seconds

10

Specifies the maximum time in which a server must respond to a health check request to be considered healthy. If interval-in-seconds is greater than zero, timeout-in-seconds must be less than or equal to interval-in-seconds.

http-access-log

Defines an access log file for a virtual-server. The access-log subelement of the virtual server’s parent http-service element determines the access log file’s format and rotation settings.

Superelements

virtual-server

Subelements

none

Attributes

The following table describes attributes for the http-access-log element.

Table 1–68 http-access-log Attributes

Attribute 

Default 

Description 

log-directory

${com.sun.aas.instanceRoot}/logs/access

(optional) Specifies the location of the access log file. 

iponly

true

(optional) If true, specifies that only the IP address of the user agent is listed. If false, performs a DNS lookup.

http-file-cache

Configures the HTTP file cache.

Superelements

http-service

Subelements

none

Attributes

The following table describes attributes for the http-file-cache element.

Table 1–69 http-file-cache Attributes

Attribute 

Default 

Description 

globally-enabled

false (developer profile)

true (cluster and enterprise profiles)

(optional) If true, enables the file cache.

file-caching-enabled

false (developer profile)

true (cluster and enterprise profiles)

(optional) If true, enables caching of the file content if the file size exceeds the small-file-size-limit-in-bytes.

max-age-in-seconds

30

(optional) Specifies the maximum age of a file cache entry. 

medium-file-size-limit-in-bytes

537600

(optional) Specifies the maximum size of a file that can be cached as a memory mapped file. 

medium-file-space-in-bytes

10485760

(optional) Specifies the total size of all files that are cached as memory mapped files. 

small-file-size-limit-in-bytes

2048

(optional) Specifies the maximum size of a file that can be read into memory. 

small-file-space-in-bytes

1048576

(optional) Specifies the total size of all files that are read into memory. 

file-transmission-enabled

false

(optional) If true, enables the use of TransmitFileSystem calls. Meaningful only for Windows.

max-files-count

1024

(optional) Specifies the maximum number of files in the file cache. 

hash-init-size

0

(optional) Specifies the initial number of hash buckets. 

http-listener

Defines an HTTP listen socket. The connection-pool subelement of the parent http-service element also configures some listen socket settings.

Superelements

http-service

Subelements

The following table describes subelements for the http-listener element.

Table 1–70 http-listener Subelements

Element 

Required 

Description 

ssl

zero or one 

Defines Secure Socket Layer (SSL) parameters. 

property

zero or more 

Specifies a property or a variable. 

Attributes

The following table describes attributes for the http-listener element.

Table 1–71 http-listener Attributes

Attribute 

Default 

Description 

id

none 

The unique listener name. An http-listener name cannot begin with a number.

address

none 

IP address of the listener. Can be in dotted-pair or IPv6 notation. Can be any (for INADDR_ANY) to listen on all IP addresses. Can be a hostname.

port

none 

Port number on which the listener listens. Legal values are 1 - 65535. On UNIX, creating sockets that listen on ports 1 - 1024 requires superuser privileges. Configuring an SSL listener to listen on port 443 is standard.

external-port

none 

(optional) Specifies the external port on which the connection is made. 

family

 

(optional) Deprecated. Do not use. 

blocking-enabled

false

(optional) If true, uses a blocking socket for servicing a request.

acceptor-threads

1

(optional) Specifies the number of processors in the machine.  

To set the number of request processing threads, use the thread-count attribute of the request-processing element.

security-enabled

false

(optional) Determines whether the listener runs SSL. To turn SSL2 or SSL3 on or off and set ciphers, use an ssl subelement.

default-virtual-server

none 

References the id attribute of the default virtual-server for this particular listener.

server-name

none 

Tells the server what to put in the host name section of any URLs it sends to the client. This affects URLs the server automatically generates; it doesn’t affect the URLs for directories and files stored in the server. If your server uses an alias, the server-name should be the alias name.

If a colon and port number are appended, that port is used in URLs the server sends to the client. 

If load balancing is enabled, use the server name of the load balancer. 

redirect-port

none 

(optional) If the listener is supporting non-SSL requests and a request is received for which a matching <security-constraint> requires SSL transport, the request is automatically redirected to the port number specified here.

If load balancing is enabled, use the redirect port of the load balancer. 

xpowered-by

true

(optional) If true, X-Powered-By headers are used according to the Servlet 2.4 and JSP 2.0 specifications.

enabled

true

(optional) Determines whether the listener is active. If set to false, any attempts to connect to the listener result in a socket exception (java.net.ConnectException).

In Application Server versions prior to 9.1, a listener whose enabled attribute was set to false returned a 404 response code for any requests sent to it. To achieve this behavior in the current Application Server version, set the listener's enabled attribute to true, and set every associated virtual server's state to off. A virtual-server lists its associated listeners in its http-listeners attribute.

Properties

The following table describes properties for the http-listener element. Any of these properties can be defined as an http-service property, so that it applies to all http-listener elements.

Table 1–72 http-listener Properties

Property 

Default 

Description 

recycle-objects

true

If true, recycles internal objects instead of using the VM garbage collector.

reader-threads

0

Specifies the number of reader threads, which read bytes from the non-blocking socket. 

acceptor-queue-length

4096

Specifies the length of the acceptor thread queue. Once full, connections are rejected. 

reader-queue-length

4096

Specifies the length of the reader thread queue. Once full, connections are rejected. 

use-nio-direct-bytebuffer

true

If true, specifies that the NIO direct ByteBuffer is used. In a limited resource environment, it might be faster to use non-direct Java's ByteBuffer by setting a value of false.

authPassthroughEnabled

false

If true, indicates that this http-listener element receives traffic from an SSL-terminating proxy server. Overrides the authPassthroughEnabled property of the parent http-service element.

proxyHandler

com.sun.enterprise.web.ProxyHandlerImpl

Specifies the fully qualified class name of a custom implementation of the com.sun.appserv.ProxyHandler abstract class that this http-listener uses.

Only used if the authPassthroughEnabled property of this http-listener and the parent http-service element are both set to true. Overrides the proxyHandler property of the parent http-service element.

proxiedProtocol

none 

Specifies a comma-separated list of protocols that can use the same port. Allowed values are ws/tcp (SOAP over TCP), http, https and tls.

For example, if you set this property to http,https and set the port to 4567, you can access the port with either http://host:4567/ or https://host:4567/.

Specifying this property at the http-service level overrides settings at the http-listener level. If this property is not set at either level, this feature is disabled.

bufferSize

4096

Specifies the size, in bytes, of the buffer to be provided for input streams created by HTTP listeners. 

connectionTimeout

30

Specifies the number of seconds HTTP listeners wait, after accepting a connection, for the request URI line to be presented. 

maxKeepAliveRequests

250

Specifies the maximum number of HTTP requests that can be pipelined until the connection is closed by the server. Set this property to 1 to disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining.

traceEnabled

true

If true, enables the TRACE operation. Set this property to false to make the Application Server less susceptible to cross-site scripting attacks.

cometSupport

false

If true, enables Comet support for this listener.

If your servlet or JSP page uses Comet technology, make sure it is initialized when the Application Server starts up by adding the load-on-startup element to your web.xml file. For example:

<servlet>
   <servlet-name>CheckIn</servlet-name>
   <servlet-class>CheckInServlet</servlet-class>
   <load-on-startup>0</load-on-startup>
</servlet>

compression

off

Specifies use of HTTP/1.1 GZIP compression to save server bandwidth. Allowed values are: 

  • off – Disables compression.

  • on – Compresses data.

  • force – Forces data compression in all cases.

  • positive integer – Specifies the minimum amount of data required before the output is compressed.

If the content-length is not known, the output is compressed only if compression is set to on or force.

compressableMimeType

text/html,text/xml,text/plain

Specifies a comma-separated list of MIME types for which HTTP compression is used. 

noCompressionUserAgents

empty String (regexp matching disabled)

Specifies a comma-separated list of regular expressions matching user-agents of HTTP clients for which compression should not be used. 

minCompressionSize

none 

Specifies the minimum size of a file when compression is applied. 

crlFile

none 

Specifies the location of the Certificate Revocation List (CRL) file to consult during SSL client authentication. This can be an absolute or relative file path. If relative, it is resolved against domain-dir. If unspecified, CRL checking is disabled.

trustAlgorithm

none  

Specifies the name of the trust management algorithm (for example, PKIX) to use for certification path validation.

trustMaxCertLength

5

Specifies the maximum number of non-self-issued intermediate certificates that can exist in a certification path. This property is considered only if trustAlgorithm is set to PKIX. A value of zero implies that the path can only contain a single certificate. A value of -1 implies that the path length is unconstrained (there is no maximum). Setting a value less than -1 causes an exception to be thrown.

disableUploadTimeout

true

if false, the connection for a servlet that reads bytes slowly is closed after the connectionUploadTimeout is reached.

connectionUploadTimeout

5

Specifies the timeout for uploads. Applicable only if disableUploadTimeout is set to false.

uriEncoding

UTF-8

Specifies the character set used to decode the request URIs received on this HTTP listener. Must be a valid IANA character set name. Overrides the uriEncoding property of the parent http-service element.

http-protocol

Configures HTTP protocol settings.

Superelements

http-service

Subelements

none

Attributes

The following table describes attributes for the http-protocol element.

Table 1–73 http-protocol Attributes

Attribute 

Default 

Description 

version

HTTP/1.1

(optional) Specifies the version of the HTTP protocol used. 

dns-lookup-enabled

true

(optional) If true, looks up the DNS entry for the client.

forced-type

ISO-8859-1;en;ISO-8859-1

(optional) Specifies the request type used if no MIME mapping is available that matches the file extension. The format is a semicolon-delimited string consisting of the content-type, encoding, language, and charset. 

default-type

text/html;ISO-8859-1;en;ISO-8859-1

(optional) Specifies the default response type. The format is a semicolon-delimited string consisting of the content-type, encoding, language, and charset. 

forced-response-type

AttributeIsDeprecated

(optional) Deprecated. Do not use. 

default-response-type

AttributeIsDeprecated

(optional) Deprecated. Do not use. 

ssl-enabled

true

(optional) Not implemented. Use ssl subelements of http-listener elements.

http-service

Defines the HTTP service.

Superelements

config

Subelements

The following table describes subelements for the http-service element.

Table 1–74 http-service Subelements

Element 

Required 

Description 

access-log

zero or one 

Defines access log settings for each http-access-log subelement of each virtual-server.

http-listener

one or more 

Defines an HTTP listen socket. 

virtual-server

one or more 

Defines a virtual server. 

request-processing

zero or one 

Configures request processing threads. 

keep-alive

zero or one 

Configures keep-alive threads. 

connection-pool

zero or one 

Defines a pool of client HTTP connections. 

http-protocol

zero or one 

Configures HTTP protocol settings. 

property

zero or more 

Specifies a property or a variable. 

Properties

The following table describes properties for the http-service element. These properties apply to all http-listener subelements, except for accessLoggingEnabled, accessLogBufferSize, and accessLogWriterInterval, which apply to all virtual-server subelements.

Table 1–75 http-service Properties

Property 

Default 

Description 

monitoring-cache-enabled

true

If true, enables the monitoring cache.

monitoring-cache-refresh-in-millis

5000

Specifies the interval between refreshes of the monitoring cache. 

ssl-cache-entries

10000

Specifies the number of SSL sessions to be cached. 

ssl3-session-timeout

86400

Specifies the interval at which SSL3 sessions are cached. 

ssl-session-timeout

100

Specifies the interval at which SSL2 sessions are cached. 

recycle-objects

true

If true, recycles internal objects instead of using the VM garbage collector.

reader-threads

0

Specifies the number of reader threads, which read bytes from the non-blocking socket. 

acceptor-queue-length

4096

Specifies the length of the acceptor thread queue. Once full, connections are rejected. 

reader-queue-length

4096

Specifies the length of the reader thread queue. Once full, connections are rejected. 

use-nio-direct-bytebuffer

true

If true, specifies that the NIO direct ByteBuffer is used. In a limited resource environment, it might be faster to use non-direct Java's ByteBuffer by setting a value of false.

authPassthroughEnabled

false

If true, indicates that the http-listener subelements receive traffic from an SSL-terminating proxy server, which is responsible for forwarding any information about the original client request (such as client IP address, SSL keysize, and authenticated client certificate chain) to the HTTP listeners using custom request headers.

Each http-listener subelement can override this setting for itself.

proxyHandler

com.sun.enterprise.web.ProxyHandlerImpl

Specifies the fully qualified class name of a custom implementation of the com.sun.appserv.ProxyHandler abstract class, which allows a back-end application server instance to retrieve information about the original client request that was intercepted by an SSL-terminating proxy server (for example, a load balancer). An implementation of this abstract class inspects a given request for the custom request headers through which the proxy server communicates the information about the original client request to the Application Server instance, and returns that information to its caller.

The default implementation reads the client IP address from an HTTP request header named Proxy-ip, the SSL keysize from an HTTP request header named Proxy-keysize, and the SSL client certificate chain from an HTTP request header named Proxy-auth-cert. The Proxy-auth-cert value must contain the BASE-64 encoded client certificate chain without the BEGIN CERTIFICATE and END CERTIFICATE boundaries and with \n replaced with % d% a.

Only used if authPassthroughEnabled is set to true. Each http-listener subelement can override the proxyHandler setting for itself.

proxiedProtocol

none 

Specifies a comma-separated list of protocols that can use the same port. Allowed values are ws/tcp (SOAP over TCP), http, https and tls.

For example, if you set this property to http,https and the port is 4567, you can access the port with either http://host:4567/ or https://host:4567/.

Specifying this property at the http-service level overrides settings at the http-listener level. If this property is not set at either level, this feature is disabled.

bufferSize

4096

Specifies the size, in bytes, of the buffer to be provided for input streams created by HTTP listeners. 

connectionTimeout

30

Specifies the number of seconds HTTP listeners wait, after accepting a connection, for the request URI line to be presented. 

maxKeepAliveRequests

250

Specifies the maximum number of HTTP requests that can be pipelined until the connection is closed by the server. Set this property to 1 to disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining.

traceEnabled

true

If true, enables the TRACE operation. Set this property to false to make the Application Server less susceptible to cross-site scripting attacks.

accessLoggingEnabled

false (developer and cluster profiles)

true (enterprise profile)

If true, enables access logging for all virtual-server subelements that do not specify this property. If false, disables access logging for all virtual-server subelements that do not specify this property.

accessLogBufferSize

32768

Specifies the size, in bytes, of the buffer where access log calls are stored. If the value is less than 5120, a warning message is issued, and the value is set to 5120.

accessLogWriterInterval

300

Specifies the number of seconds before the log is written to the disk. The access log is written when the buffer is full or when the interval expires. If the value is 0, the buffer is always written even if it is not full. This means that each time the server is accessed, the log message is stored directly to the file.

sso-enabled

false (developer and cluster profiles)

true (enterprise profile)

If true, single sign-on is enabled by default for all web applications on all virtual servers on this server instance that are configured for the same realm. If false, single sign-on is disabled by default for all virtual servers, and users must authenticate separately to every application on each virtual server. The sso-enabled property setting of the virtual-server element overrides this setting for an individual virtual server.

At the http-service level, you cannot change the sso-max-inactive-seconds and sso-reap-interval-seconds values from their defaults. However, you can change these values at the virtual-server level.

disableUploadTimeout

true

if false, the connection for a servlet that reads bytes slowly is closed after the connectionUploadTimeout is reached.

connectionUploadTimeout

5

Specifies the timeout for uploads. Applicable only if disableUploadTimeout is set to false.

uriEncoding

UTF-8

Specifies the character set used to decode the request URIs received on http-listener subelements that do not define this property. Must be a valid IANA character set name.