ZeroConf Settings
Table of Contents
Enable ZeroConf | Separate VHost Per Domain | Separate Log Per Domain | Domain Log Directory | User Password File | Group Password File | ZeroConf Domain Ciphers | Mode | Strategy | Show Backend In Header | Forward IP Header | Forwarded By Header | ZeroConf SHM Directory
Additional HTTPS Protocols | Worker Max Connections | Initial Request Timeout (secs) | Retry Timeout (secs) | Persistent Connection | Connection Keepalive Timeout | Response Buffering | Ping Path | Ping Interval (secs) | Smart Ping Factor
Listener Name | Address | Private Key File | Certificate File | CA Certificate File
File Name | Log Level | Debug Level | Rolling Size (bytes) | Keep Days | Compress Archive
File Name | Piped Logger | Log Format | Log Headers | Rolling Size (bytes) | Keep Days | Compress Archive
Enable ZeroConf⇑
Description
Choose whether or not to enable the ZeroConf feature.
Syntax
Select from radio box
Tips
Once enabled at the server level, this feature can be enabled individually per listener.
Separate VHost Per Domain⇑
Description
Create a VHost for each domain configured through ZeroConf. If set to No, all domains that share the same list of backends will share a VHost.
Warning: When set to Yes, this could be very memory expensive if there are many domains.
Default value: No
Syntax
Select from radio box
Separate Log Per Domain⇑
Description
Indicate whether to log ZeroConf configured VHosts separately. This configuration only takes effect when Separate VHost Per Domain is set for the domain.
For example, if Separate VHost Per Domain is not set at the Server level but is set in a VHost Template, this will only take effect for the VHost Template's domains.
Note: Domain Log Directory must also be set for this option to be saved.
Default value: All unchecked
Syntax
Select from checkbox
See Also
Domain Log Directory⇑
Description
Directory in which to create logs for ZeroConf domains.
Note: This directory must be writeable for the LSLBD runtime user set in Running As for logs to be written.
Default value: Not Set
Syntax
An absolute path or a relative path to $SERVER_ROOT.
See Also
User Password File⇑
Description
The location of an HTTP basic authentication user password file.
Syntax
path
Group Password File⇑
Description
The location of an HTTP basic authentication group password file.
Syntax
path
ZeroConf Domain Ciphers⇑
Description
Specifies a custom cipher suite for ZeroConf domains.
Default value: Use server default ciphers
Syntax
Colon-separated string of cipher specifications.
Mode⇑
Description
Specifies which mode the ZeroConf cluster operates in, "Stateless" or "Stateful".
"Stateful" mode track sessions associated with each back-end server. It also called "Session Affinity".
"Stateless" mode does not care about sessions.
Default value: Stateful
Syntax
Select from drop down list
Strategy⇑
Description
Select load balancing strategy from the list.
- The round-robin algorithm cycles through a list of backend Server instances in order.
- The least-load algorithm improves on the round-robin algorithm by also taking into account the current work load of each server.
- The least-session algorithm choose the server with fewest session associated.
- The Fastest Response algorithm chooses the Worker Group node that responds the fastest to a backend worker ping.
- The Failover algorithm chooses the Worker Group node that is configured with the highest priority. When that node becomes unhealthy, the next highest priority node is selected. If multiple nodes are configured with the same priority, then the first node configured will be selected. When an unhealthy node with a higher priority recovers, it will return as the highest priority node choice.
Syntax
Select from drop down list
Show Backend In Header⇑
Description
Add response header 'x-lsadc-backend' which indicates that backend server that served the request. The header's value is a concatenation of the cluster name and the backend IP and port.
Default value: No
Syntax
Select from radio box
Example
Forward IP Header⇑
Description
An additional header to be added to all proxy requests made to the backend server. This header will use either the visiting IP or the value set in the 'X-Forwarded-For' header as it's value, depending on the value set for Use Client IP in Header.
Default value: Not Set
Syntax
String with allowed characters a-z, A-Z, 0-9, underscore(_), and hyphen(-)
Example
Forwarded By Header⇑
Description
An additional header to be added to all proxy requests made to the backend server. This header's value will be set to the serverName value.
Default value: Not Set
Syntax
String with allowed characters a-z, A-Z, 0-9, underscore(_), and hyphen(-)
Example
ZeroConf SHM Directory⇑
Description
The location where ZeroConf shared memory files are stored. The default directory is $SERVER_ROOT/zconf.
Syntax
path
Additional HTTPS Protocols⇑
Description
Additional HTTP protocols used to communicate with the backend server when supported. For this setting to take effect, Type must be set to HTTPS Proxy.
HTTP/1 will be used by default if no additional protocols are selected or if the selected protocols are not supported by the backend server.
Default value: All Unchecked (HTTP/1)
Syntax
Select from checkbox
Worker Max Connections⇑
Description
Maximum number of connections per ZeroConf worker. There is one worker created per backend listener per ADC worker process.
Default value: 100
Syntax
Integer number
Example
100 (default per worker) x 4 (ADC workers with a "Web ADC Large" license), x 3 (backend ZeroConf servers) x 2 (HTTP and HTTPS ports) = 2,400
Initial Request Timeout (secs)⇑
Description
Specifies the maximum time in seconds the server will wait for the external application to respond to the first request over a new established connection. If the server does not receive any data from the external application within this timeout limit, it will mark this connection as bad. This helps to identify communication problems with external applications as quickly as possible. If some requests take longer to process, increase this limit to avoid 503 error messages.
Default value: 600
Syntax
Integer number
Retry Timeout (secs)⇑
Description
Specifies the period of time that the server waits before retrying an external application that had a prior communication problem.
Default value: 10
Syntax
Integer number
Persistent Connection⇑
Description
Specifies whether to keep the connection open after a request has been processed. Persistent connections can increase performance, but some FastCGI external applications do not support persistent connections fully. The default is "On".
Default value: Yes
Syntax
Select from radio box
Connection Keepalive Timeout⇑
Description
Specifies the maximum time in seconds to keep an idle persistent connection open.
When set to -1, the connection will never timeout. When set to 0 or greater, the connection will be closed after this time in seconds has passed.
Default value: 30
Syntax
int
Response Buffering⇑
Description
Specifies whether to buffer responses received from external applications. If a "nph-" (Non-Parsed-Header) script is detected, buffering is turned off for responses with full HTTP headers.
Default value: Yes
Syntax
Select from drop down list
Ping Path⇑
Description
Changes ping target path, http(s)://IP:port/ by default, to http(s)://IP:port/path_value when a path is configured and Ping Interval (secs) is set to a non-zero value.
Note: All ZeroConf configured backends use the same target path.
Default value: Not Set
Syntax
A path starting with '/'.
Ping Interval (secs)⇑
Description
Specifies how often to ping a backend worker. For web server backend, an http request based on "Ping URL" will be sent. For other types of backends, an TCP connection attempt will be made to the backend server, if successful, the backend will be used as a good node.
Note: Set to 0 to disable ping.
Syntax
Integer number
Smart Ping Factor⇑
Description
When set to 0, a ping is sent out at the configured Ping Interval (secs).
When set to a non-zero value, all successful requests to the backend are also counted as a ping, meaning that a standard ping will only occur when the backend has not actively served any requests at the configured Ping Interval (secs). In addition to this, when there are no open connections to the backend server, the ping interval is multiplied by the configured value effectively lengthening the configured Ping Interval (secs).
Default value: 0
Syntax
Integer value from 0 to 255.
Example
pingSmartFactor = 0: A ping is sent out every 30 seconds.
For the below cases, successful requests to the backend will also count as a ping.
Smart Ping Factor = 1: A ping is sent out every 30 seconds. When idle, a ping is sent out every 30 seconds.
Smart Ping Factor = 2: A ping is sent out every 30 seconds. When idle, a ping is sent out every 60 seconds.
Smart Ping Factor = 3: A ping is sent out every 30 seconds. When idle, a ping is sent out every 90 seconds.
ZeroConf Listeners⇑
Description
Secure SSL listeners that will listen for ZeroConf messages only.
Listener Name⇑
Description
A unique name for this listener.
Address⇑
Description
Address of listener that will only accept ZeroConf configuration and control messages.
Syntax
IP:port
Private Key File⇑
Description
The filename of the SSL private key file. The key file should not be encrypted.
Syntax
Filename which can be an absolute path or a relative path to $SERVER_ROOT.
Tips
The private key file should be placed in a secured directory that allows read-only access to the user the server runs as.
Certificate File⇑
Description
The filename of the SSL certificate file.
Syntax
Filename which can be an absolute path or a relative path to $SERVER_ROOT.
Tips
The certificate file should be placed in a secured directory, which allows read-only access to the user that the server runs as.
CA Certificate File⇑
Description
Specifies the file that contains all certificates of certification authorities (CAs) for chained certificates. This file is simply the concatenation of PEM-encoded certificate files, in order of preference. This can be used as an alternative or in addition to CA Certificate Path. Those certificates are used for client certificate authentication and constructing the server certificate chain, which will be sent to browsers in addition to the server certificate.
Syntax
Filename which can be an absolute path or a relative path to $SERVER_ROOT.
File Name⇑
Description
Specifies the path for the log file.
Syntax
Filename which can be an absolute path or a relative path to $SERVER_ROOT.
Tips
Place the log file on a separate disk.
Log Level⇑
Description
Specifies the level of logging to include in your log file. Available levels (from high to low) are: ERROR, WARNING, NOTICE, INFO and DEBUG. Only messages with level higher or equal to the current setting will be logged.
Syntax
Select from drop down list
Tips
Using DEBUG log level does not have any performance impact, unless Debug Level is set to a level other than NONE. It's recommended to set Log Level to DEBUG and Debug Level to NONE. These settings mean that you will not fill up your hard disk with debug logging, but you will be able to use the Toggle Debug Logging action to control debug output. This action can turn debug logging on and off on the fly, and is useful for debugging busy production servers.
See Also
Debug Level⇑
Description
Specifies the level of debug logging. Log Level must be set to DEBUG to use this feature. Debug logging is disabled when "Debug Level" is set to NONE even if Log Level is set to DEBUG. Toggle Debug Logging can be used to control debug level on a live server without restarting.
Syntax
Select from drop down list
Tips
Important! Always set this to NONE if you do not need detailed debug logging. Active debug logging will severely degrade service performance and potentially saturate disk space in a very short time. Debug logging includes detailed information for each request and response.
It's recommended to set Log Level to DEBUG and Debug Level to NONE. These settings mean that you will not fill up your hard disk with debug logging, but you will be able to use the Toggle Debug Logging action to control debug output. This action can turn debug logging on and off on the fly, and is useful for debugging busy production servers.
See Also
Rolling Size (bytes)⇑
Description
Specifies when the current log file needs to be rolled over, also known as log rotation. When the file size is over the rollover limit, the active log file will be renamed to log_name.mm_dd_yyyy(.sequence) in the same directory and a new active log file will be created. The actual size of the rotated log file once it is created will sometimes be a little bigger than this size limit. Set to 0 to disable log rotation.
Syntax
Integer number
Tips
Append "K", "M", "G" to the number for kilo-, mega- and giga- bytes.
Keep Days⇑
Description
Specifies how many days the access log file will be kept on disk. Only rotated log files older than the specified number of days will be deleted. The current log file will not be touched regardless how many days worth of data it contains. If you do not want to auto-delete stale and very old log files, set this to 0.
Syntax
Integer number
Compress Archive⇑
Description
Specifies whether to compress rotated log files in order to save disk space.
Syntax
Select from radio box
Tips
Log files are highly compressible and this is recommended to reduce disk usage for old logs.
File Name⇑
Description
The access log filename.
Syntax
Filename which can be an absolute path or a relative path to $SERVER_ROOT.
Tips
Put access log file on a separate disk.
Piped Logger⇑
Description
Specifies an external application that will receive the access log data sent by LiteSpeed through a pipe on its STDIN stream (file handle 0). When specified, the access log will be sent to the logger application instead of the access log file specified in previous entry.
LiteSpeed load balancer performs simple load balancing among multiple logger applications if more than one instance of a logger application is configured. LiteSpeed Web Server always attempts to keep the number of logger processes as low as possible. Only when one logger application fails to process access log entries in time will the server attempt to spawn another logger application instance.
If a logger process crashes, the server will start another instance but the log data in the stream buffer will be lost. It is possible to lose log data if external loggers cannot keep up with the speed and volume of the log stream.
File path to the logger application should be given here, and optionally, the number of application instances can be set before the file path, followed by '|'.
Syntax
[<intances>|]<path_to_logger_app>
Example
tells the server to start up to 4 logger processes.
/path/to/logger/app
tells the server to start only one logger process.
Log Format⇑
Description
Specifies the log format for the access log. When log format is set, it will override the Log Headers setting.
Syntax
String. The syntax of log format is compatible with Apache 2.0's custom log format.
Example
"%h %l %u %t \"%r\" %>s %b"
Common Log Format with Virtual Host
"%v %h %l %u %t \"%r\" %>s %b"
NCSA extended/combined log format
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"
Log cookie value of Foobar
"%{Foobar}C"
See Also
Log Headers⇑
Description
Specifies whether to log HTTP request headers: Referer, UserAgent, and Host.
Syntax
Select from checkbox
Tips
Turn this off if you do not need these headers in the access log.
See Also
Access Control⇑
Description
Specifies what sub networks and/or IP addresses can send ZeroConf messages to LiteSpeed Web ADC when ZeroConf is enabled.
Allowed List⇑
Description
Specifies the list of IPs or sub-networks allowed. * or ALL are accepted.
Syntax
Comma delimited list of IP addresses or sub-networks. A trailing "T" can be used to indicate a trusted IP or sub-network, such as 192.168.1.*T.
Example
IPv6 addresses: ::1 or [::1]
IPv6 subnets: 3ffe:302:11:2:20f:1fff:fe29:717c/64 or [3ffe:302:11:2:20f:1fff:fe29:717c]/64
Denied List⇑
Description
Specifies the list of IPs or sub-networks disallowed.
Syntax
Comma delimited list of IP addresses or sub-networks. * or ALL are accepted.
Example
IPv6 addresses: ::1 or [::1]
IPv6 subnets: 3ffe:302:11:2:20f:1fff:fe29:717c/64 or [3ffe:302:11:2:20f:1fff:fe29:717c]/64