HTTP Connector

The HTTP Connector resource template represents an incoming HTTP connection. HTTP connectors are used by a service's SOAP binding and also by the WebApp component.

General

Property Required? Editable? Accepts SVars? Description
Machine Name Y Y Y

The name of the machine that accepts the incoming requests.

The default is 0.0.0.0. You can change it from 0.0.0.0 to a specific IP address. You can also use a substitution variable as the value, if you need to alter the IP address value based on the node.

For machines that have only one network card, the default value specifies the current machine. For machines that have more than one network card, this field specifies the host name of the card that will be used to accept incoming HTTP requests.

If there is more than one network card on the machine, and you specify 0.0.0.0 in this field, all network cards on the machine will listen for incoming HTTP requests on the specified port. Only one HTTP connector can be started on each port. Therefore make certain that all HTTP connection resources that use the same machine name specify different port numbers.

Note: The machine name signifies the machine on which the node is running, not the machine on which the Administrator server is running.
Port Y Y Y The port number on which to listen for incoming requests.
Note: Once you install an HTTP connector resource instance the port is bound to the connector even if there are no applications using the connector. You should uninstall unused instances to conserve ports.

Default: 9895.

Accept Queue Size N Y Y The number of incoming requests that can be queued before additional requests are rejected.

Default: 0, which indicates that the JVM should use the default value for accept queue size. For Oracle JVM, the default value is 50.

Acceptor Threads N Y Y The number of threads dedicated to processing incoming connection requests. Ideally, you want to have enough acceptor threads so that there is always one available when a user needs one, but few enough so that they do not provide too much of a burden on the system. The threads are started when the HTTP Connector resource instance is installed on a node.

An acceptor thread accepts the connection, then queues the request to the work thread pool and returns to process the next connection request.

In general, the number of acceptor threads should be kept low. A good rule of thumb is the number of acceptor threads should not be greater than twice the number of processors.

Default: 1 and grey.

SSL

GUI Property Required? Editable? Accepts SVars? Description
Enable SSL N N N Indicate that SSL connections should be enabled. When checked, the SSL Certificate Source field is enabled.

Default: Unchecked.

SSL Certificate Source N Y N The source of the SSL certificate:
  • TIBCO Credential Server
  • SSL Server Provider - when selected the SSL Provider field is enabled.
SSL Server Provider N Y Y The name of an SSL Server Provider resource instance.

Advanced

Property Required? Editable? Accepts SVars? Description
SSL Security Provider N Y N Optional. The SSL security provider.
SSL Protocol N Y N The SSL protocol to use in the SSL connection:
  • SSLv3
  • TLSv1
  • TLSv1.1
  • TLSv1.2

Default: TLSv1.2.

SSL Cipher Class N Y N The number of bits in the key used to encrypt data:
  • No Exportable Ciphers: Ciphers which do not contain "export" in the name of cipher from the list: ciphers names.
  • At Least 128 Bit
  • More Than 128 Bit
  • At Least 256 Bit
  • FIPS Ciphers
  • All Ciphers
  • Explicit Ciphers
The greater the number of bits in the key (cipher strength), the more possible key combinations and the longer it would take to break the encryption.

Default: At Least 128 Bit.

Explicit Cipher List N Y Y A list of ciphers. Enabled when SSL Cipher Class is set to Explicit Ciphers. Use the JSSE format for ciphers names.

Default: None

Verify Remote Hostname N N N Indicate whether the name on the server's certificate must be verified against the server's hostname. If the server's hostname is different than the name on the certificate, the SSL connection will fail. The name on the certificate can be verified against another name by specifying Expected Remote Hostname. When checked, the Expected Remote Hostname field is enabled.

Default: Unchecked.

Expected Remote Hostname N Y Y Optional. The expected name of the remote host.

Default: None

GUI Property Required? Editable? Accepts SVars? Description
Low Resources Max Idle Time (ms) N Y Y The period that a connection is allowed to be idle when there are more than (the number of) Low Resources Connections.

Default: -1. There is no timeout.

Idle Timeout (ms) N Y Y (New property in Jetty 9) The idle timeout in ms for I/O operations during the handling of a HTTP request. The max idle time is applied to a HTTP request for IO operations and delayed dispatch.

Default: 200000 ms

Request Header Size (B) N Y Y (New property in Jetty 9) The maximum size of a request header. Larger headers will allow for more and/or larger cookies plus larger form content encoded in a URL. However, larger headers consume more memory and can make a server more vulnerable to denial of service attacks.

Default: 4096 bytes

Response Header Size (B) N Y Y (New property in Jetty 9) The maximum size of a response header. Larger headers will allow for more and/or larger cookies and longer HTTP headers (eg for redirection). However, larger headers will also consume more memory.

Default: 4096 bytes

Output Buffer Size (B) N Y Y (New property in Jetty 9) The size of the buffer into which response content is aggregated before being sent to the client. A larger buffer can improve performance by allowing a content producer to run without blocking, however larger buffers consume more memory and may induce some latency before a client starts processing the content.

Default: 24576 bytes

Linger Time (ms) N Y Y The time to delay before a socket resets. Before a socket terminates a connection, it can linger, allowing unsent data to be transmitted or it can reset, which means that all unsent data will be lost.

Default: -1. There is no delay before resetting.

Use Non-Blocking IO Sockets N N N Indicate whether to use non-blocking or blocking IO. In non-blocking IO, the thread will read whatever data is available and return to perform other tasks. In blocking IO, the thread will block on a read operation until all the data is available.

Default: Checked.

Restriction: Due to a bug in the Oracle JVM version 1.6, non-blocking IO does not work when the Machine Name field contains an iPV6 address or when the machine name resolves only to an IPv6 address. If the machine name resolves to a IPv4 and an IPv6 address, the IPv4 address will be used and non-blocking IO will work correctly. Because of this limitation, you should either use blocking IO or use IPv4 addresses for connectors with non-blocking IO.
Use Direct Buffers N N N Indicate whether to use direct buffers with non-blocking IO. Some JVMs have memory management issues with direct buffers.

Default: Checked.

Worker Thread Pool N Y Y The name of a Thread Pool resource instance containing the threads used to handle the HTTP request.
Note: When unset, a thread pool with Max Pool Size set to 250 is created.

Default: None.

By default all HTTP methods are enabled for HTTP connectors. To disable HTTP OPTIONS and PUT methods for all connectors on a Node or a specific connector, set the following Node JVM properties to false:
  • amf.node.disableHTTPOptions
  • amf.node.disableHTTPOptions.connectorName
  • amf.node.disableHTTPPut
  • amf.node.disableHTTPPut.connectorName

For example, amf.node.disableHTTPOptions=false disables the HTTP OPTIONS for all connectors on a Node.