split_clients

Syntax: split_clients string $variable { ... } Default: — Context: stream Creates a variable for A/B testing, for example: split_clients "${remote_addr}AAA" $variant { 0.5% .one; 2.0% .two; * ""; } The value of the original string is hashed using MurmurHash2. In the example given, hash values from 0 to 21474835 (0.5%) correspond to the value ".one" of the $variant variable, hash v

source_charset

Syntax: source_charset charset; Default: — Context: http, server, location, if in location Defines the source charset of a response. If this charset is different from the charset specified in the charset directive, a conversion is performed.

smtp_capabilities

Syntax: smtp_capabilities extension ...; Default: — Context: mail, server Sets the SMTP protocol extensions list that is passed to the client in response to the EHLO command. Authentication methods specified in the smtp_auth directive are automatically added to this list. It makes sense to specify the extensions supported by the MTA to which the clients are proxied (if these extensions are related to commands used after the authentication, when nginx transparently proxies the cli

smtp_auth

Syntax: smtp_auth method ...; Default: smtp_auth login plain; Context: mail, server Sets permitted methods of SASL authentication for SMTP clients. Supported methods are: login AUTH LOGIN plain AUTH PLAIN cram-md5 AUTH CRAM-MD5. In order for this method to work, the password must be stored unencrypted. external AUTH EXTERNAL (1.11.6). none Authentication is not required.

slice

Syntax: slice size; Default: slice 0; Context: http, server, location Sets the size of the slice. The zero value disables splitting responses into slices. Note that a too low value may result in excessive memory usage and opening a large number of files. In order for a subrequest to return the required range, the $slice_range variable should be passed to the proxied server as the Range request header field. If caching is enabled, $slice_range should be added to the cache key and

set_real_ip_from

Syntax: set_real_ip_from address | CIDR | unix:; Default: — Context: http, server, location Defines trusted addresses that are known to send correct replacement addresses. If the special value unix: is specified, all UNIX-domain sockets will be trusted. IPv6 addresses are supported starting from versions 1.3.0 and 1.2.1.

Setting up hashes

Setting up hashes To quickly process static sets of data such as server names, map directive’s values, MIME types, names of request header strings, nginx uses hash tables. During the start and each re-configuration nginx selects the minimum possible sizes of hash tables such that the bucket size that stores keys with identical hash values does not exceed the configured parameter (hash bucket size). The size of a table is expressed in buckets. The adjustment is continued until the table size ex

set_real_ip_from

Syntax: set_real_ip_from address | CIDR | unix:; Default: — Context: stream, server Defines trusted addresses that are known to send correct replacement addresses. If the special value unix: is specified, all UNIX-domain sockets will be trusted.

session_log_format

Syntax: session_log_format name string ...; Default: session_log_format combined "..."; Context: http Specifies the output format of a log. The value of the $body_bytes_sent variable is aggregated across all requests in a session. The values of all other variables available for logging correspond to the first request in a session.

set

Syntax: set $variable value; Default: — Context: server, location, if Sets a value for the specified variable. The value can contain text, variables, and their combination.