diff --git a/reference-lib/package-lock.json b/reference-lib/package-lock.json index 142bad8..71f2b56 100644 --- a/reference-lib/package-lock.json +++ b/reference-lib/package-lock.json @@ -1,12 +1,12 @@ { "name": "@nginx/reference-lib", - "version": "1.1.14", + "version": "1.1.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@nginx/reference-lib", - "version": "1.1.14", + "version": "1.1.15", "license": "Apache-2.0", "devDependencies": { "@rollup/plugin-json": "^6.1.0", diff --git a/reference-lib/package.json b/reference-lib/package.json index f996489..6a7000a 100644 --- a/reference-lib/package.json +++ b/reference-lib/package.json @@ -1,6 +1,6 @@ { "name": "@nginx/reference-lib", - "version": "1.1.14", + "version": "1.1.15", "description": "", "main": "dist/index.js", "type": "module", diff --git a/reference-lib/src/reference.json b/reference-lib/src/reference.json index ed34c70..2a42483 100644 --- a/reference-lib/src/reference.json +++ b/reference-lib/src/reference.json @@ -44,6 +44,184 @@ } ] }, + { + "id": "/en/docs/http/ngx_http_acme_module.html", + "name": "ngx_http_acme_module", + "directives": [ + { + "name": "acme_issuer", + "default": "", + "contexts": [ + "http" + ], + "syntax_md": [ + "*`name`* `{...}`" + ], + "syntax_html": [ + "

name {...}

\n" + ], + "isBlock": true, + "description_md": "Defines an ACME certificate issuer object.", + "description_html": "

Defines an ACME certificate issuer object.

\n" + }, + { + "name": "uri", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "*`uri`*" + ], + "syntax_html": [ + "

uri

\n" + ], + "isBlock": false, + "description_md": "The\n[directory URL](https://www.rfc-editor.org/rfc/rfc8555#section-7.1.1)\nof the ACME server.\nThis directive is mandatory.", + "description_html": "

The\ndirectory URL\nof the ACME server.\nThis directive is mandatory.

\n" + }, + { + "name": "account_key", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "*`alg`*[:*`size`*] | *`file`*" + ], + "syntax_html": [ + "

alg[:size] | file

\n" + ], + "isBlock": false, + "description_md": "The account's private key used for request authentication.\n\nAccepted values:\n- `ecdsa`:*`256`*/*`384`*/*`521`*\n for ES256, ES384, or ES512 JSON Web Signature algorithms\n- `rsa`:*`2048`*/*`3072`*/*`4096`*\n for RS256.\n- File path for an existing key, using one of the algorithms above.\n\nThe generated account keys are preserved across reloads,\nbut will be lost on restart unless [`state_path`](https://nginx.org/en/docs/http/ngx_http_acme_module.html#state_path) is configured.", + "description_html": "

The account’s private key used for request authentication.

\n\n

Accepted values:

\n\n\n\n

The generated account keys are preserved across reloads,\nbut will be lost on restart unless state_path is configured.

\n" + }, + { + "name": "contact", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "*`URL`*" + ], + "syntax_html": [ + "

URL

\n" + ], + "isBlock": false, + "description_md": "Sets an array of URLs that the ACME server can use\nto contact the client regarding account issues.\nThe `mailto:` scheme will be used\nunless specified explicitly.", + "description_html": "

Sets an array of URLs that the ACME server can use\nto contact the client regarding account issues.\nThe mailto: scheme will be used\nunless specified explicitly.

\n" + }, + { + "name": "ssl_trusted_certificate", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "*`file`*" + ], + "syntax_html": [ + "

file

\n" + ], + "isBlock": false, + "description_md": "Specifies a *`file`* with trusted CA certificates in the PEM format\nused to [verify](https://nginx.org/en/docs/http/ngx_http_acme_module.html#ssl_verify) the certificate\nof the ACME server.", + "description_html": "

Specifies a file with trusted CA certificates in the PEM format\nused to verify the certificate\nof the ACME server.

\n" + }, + { + "name": "ssl_verify", + "default": "on", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Enables or disables verification of the ACME server certificate.", + "description_html": "

Enables or disables verification of the ACME server certificate.

\n" + }, + { + "name": "state_path", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "*`path`*" + ], + "syntax_html": [ + "

path

\n" + ], + "isBlock": false, + "description_md": "Defines a directory for storing the module data\nthat can be persisted across restarts.\nThis can improve the load time by skipping some requests on startup,\nand avoid hitting request rate limits on the ACME server.\n\nThe directory contains sensitive content, such as\nthe account key, issued certificates, and private keys.", + "description_html": "

Defines a directory for storing the module data\nthat can be persisted across restarts.\nThis can improve the load time by skipping some requests on startup,\nand avoid hitting request rate limits on the ACME server.

\n\n

The directory contains sensitive content, such as\nthe account key, issued certificates, and private keys.

\n" + }, + { + "name": "accept_terms_of_service", + "default": "", + "contexts": [ + "acme_issuer" + ], + "syntax_md": [ + "" + ], + "syntax_html": [ + "" + ], + "isBlock": false, + "description_md": "Agrees to the terms of service under which the ACME server will be used.\nSome servers require accepting the terms of service\nbefore account registration.\nThe terms are usually available on the ACME server's website,\nand the URL will be printed to the error log if necessary.", + "description_html": "

Agrees to the terms of service under which the ACME server will be used.\nSome servers require accepting the terms of service\nbefore account registration.\nThe terms are usually available on the ACME server’s website,\nand the URL will be printed to the error log if necessary.

\n" + }, + { + "name": "acme_shared_zone", + "default": "zone=ngx_acme_shared:256k", + "contexts": [ + "http" + ], + "syntax_md": [ + "`zone`=*`name`*:*`size`*" + ], + "syntax_html": [ + "

zone=name:size

\n" + ], + "isBlock": false, + "description_md": "Allows increasing the size of in-memory storage of the module.\nThe shared memory zone will be used to store the issued certificates,\nkeys and challenge data for all the configured certificate issuers.\n\nThe default zone size is sufficient to hold approximately\n50 ECDSA prime256v1 keys or 35 RSA 2048 keys.", + "description_html": "

Allows increasing the size of in-memory storage of the module.\nThe shared memory zone will be used to store the issued certificates,\nkeys and challenge data for all the configured certificate issuers.

\n\n

The default zone size is sufficient to hold approximately\n50 ECDSA prime256v1 keys or 35 RSA 2048 keys.

\n" + }, + { + "name": "acme_certificate", + "default": "", + "contexts": [ + "server" + ], + "syntax_md": [ + "*`issuer`* [*`identifier`* ...] [`key`=*`alg`*[:*`size`*]]" + ], + "syntax_html": [ + "

issuer [identifier …] [key=alg[:size]]

\n" + ], + "isBlock": false, + "description_md": "Defines a certificate with the list of `identifiers`\nrequested from issuer `issuer`.\n\nThe explicit list of identifiers can be omitted.\nIn this case, the identifiers will be taken from the\n[`server_name`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name) directive\nin the same [`server`](https://nginx.org/en/docs/http/ngx_http_core_module.html#server) block.\nNot all values accepted in the `server_name`\nare valid certificate identifiers:\nregular expressions and wildcards are not supported.\n\nThe key parameter sets the type of a generated private key.\nSupported key algorithms and sizes:\n`ecdsa:256` (default),\n`ecdsa:384`,\n`ecdsa:521`,\n`rsa:2048`,\n`rsa:3072`,\n`rsa:4096`.", + "description_html": "

Defines a certificate with the list of identifiers\nrequested from issuer issuer.

\n\n

The explicit list of identifiers can be omitted.\nIn this case, the identifiers will be taken from the\nserver_name directive\nin the same server block.\nNot all values accepted in the server_name\nare valid certificate identifiers:\nregular expressions and wildcards are not supported.

\n\n

The key parameter sets the type of a generated private key.\nSupported key algorithms and sizes:\necdsa:256 (default),\necdsa:384,\necdsa:521,\nrsa:2048,\nrsa:3072,\nrsa:4096.

\n" + } + ], + "variables": [ + { + "name": "$acme_certificate", + "description_md": "SSL certificate that can be passed to the\n[`ssl_certificate`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate)", + "description_html": "

SSL certificate that can be passed to the\nssl_certificate

\n" + }, + { + "name": "$acme_certificate_key", + "description_md": "SSL certificate private key that can be passed to\n[`ssl_certificate_key`](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_key)", + "description_html": "

SSL certificate private key that can be passed to\nssl_certificate_key

\n" + } + ] + }, { "id": "/en/docs/http/ngx_http_addition_module.html", "name": "ngx_http_addition_module", @@ -416,6 +594,31 @@ } ] }, + { + "id": "/en/docs/http/ngx_http_auth_require_module.html", + "name": "ngx_http_auth_require_module", + "directives": [ + { + "name": "auth_require", + "default": "off", + "contexts": [ + "http", + "server", + "location", + "limit_except" + ], + "syntax_md": [ + "*`$value`* ... [`error`=`4xx` | `5xx`]" + ], + "syntax_html": [ + "

$value … [error=4xx | 5xx]

\n" + ], + "isBlock": false, + "description_md": "Enables authorization based on the specified variables.\nThe access is allowed only if all the variables are not\nempty and are not equal to “0”.\nOtherwise, the module returns `403` code, which can be\noverridden by the `error` parameter.\nSeveral `auth_require` directives can be used to return\ndifferent error codes.", + "description_html": "

Enables authorization based on the specified variables.\nThe access is allowed only if all the variables are not\nempty and are not equal to “0”.\nOtherwise, the module returns 403 code, which can be\noverridden by the error parameter.\nSeveral auth_require directives can be used to return\ndifferent error codes.

\n" + } + ] + }, { "id": "/en/docs/http/ngx_http_autoindex_module.html", "name": "ngx_http_autoindex_module", @@ -5884,8 +6087,8 @@ "

name | off

\n" ], "isBlock": false, - "description_md": "Enables end user authentication with the\n[specified](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#oidc_provider) OpenID Provider.\n\nThe special value `off` cancels the effect\nof the `auth_oidc` directive\ninherited from the previous configuration level.", - "description_html": "

Enables end user authentication with the\nspecified OpenID Provider.

\n\n

The special value off cancels the effect\nof the auth_oidc directive\ninherited from the previous configuration level.

\n" + "description_md": "Enables end user authentication with the\n[specified](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#oidc_provider) OpenID Provider.\n\nParameter value can contain variables (1.29.0).\n\nThe special value `off` cancels the effect\nof the `auth_oidc` directive\ninherited from the previous configuration level.", + "description_html": "

Enables end user authentication with the\nspecified OpenID Provider.

\n\n

Parameter value can contain variables (1.29.0).

\n\n

The special value off cancels the effect\nof the auth_oidc directive\ninherited from the previous configuration level.

\n" }, { "name": "issuer", @@ -5996,8 +6199,56 @@ "

uri

\n" ], "isBlock": false, - "description_md": "Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe *`uri`* must match the configuration on the Provider's side.", - "description_html": "

Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe uri must match the configuration on the Provider’s side.

\n" + "description_md": "Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe *`uri`* must match the configuration on the Provider's side.\n\nAbsolute “`https`” URIs are supported since 1.29.0.", + "description_html": "

Defines the Redirection URI path for post-authentication redirects\nexpected by the module from the OpenID Provider.\nThe uri must match the configuration on the Provider’s side.

\n\n

Absolute “https” URIs are supported since 1.29.0.

\n" + }, + { + "name": "logout_uri", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`uri`*" + ], + "syntax_html": [ + "

uri

\n" + ], + "isBlock": false, + "description_md": "Defines the URI path for initiating session logout.\nUpon session termination, the user is redirected to\n[Provider's Logout Endpoint](https://openid.net/specs/openid-connect-rpinitiated-1_0.html#OPMetadata)\nor to the [post logout page](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#post_logout_uri).\nIf neither is configured, the built-in post logout page is displayed.", + "description_html": "

Defines the URI path for initiating session logout.\nUpon session termination, the user is redirected to\nProvider’s Logout Endpoint\nor to the post logout page.\nIf neither is configured, the built-in post logout page is displayed.

\n" + }, + { + "name": "post_logout_uri", + "default": "", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "*`uri`*" + ], + "syntax_html": [ + "

uri

\n" + ], + "isBlock": false, + "description_md": "Defines the path or absolute URI\nto redirect the user to after the logout.\nThe *`uri`* must match the configuration on the Provider's side.\nIf the post logout page is served by NGINX,\nthe OIDC module shouldn't be enabled for this location:\n```\nhttp {\n oidc_provider my_idp {\n ...\n\n logout_uri /logout;\n post_logout_uri /logged_out_page.html;\n }\n\n server {\n auth_oidc my_idp;\n\n location /logged_out_page.html {\n auth_oidc off;\n }\n }\n}\n```", + "description_html": "

Defines the path or absolute URI\nto redirect the user to after the logout.\nThe uri must match the configuration on the Provider’s side.\nIf the post logout page is served by NGINX,\nthe OIDC module shouldn’t be enabled for this location:

\n\n
http {\n    oidc_provider my_idp {\n        ...\n\n        logout_uri      /logout;\n        post_logout_uri /logged_out_page.html;\n    }\n\n    server {\n        auth_oidc my_idp;\n\n        location /logged_out_page.html {\n            auth_oidc off;\n        }\n    }\n}\n
\n" + }, + { + "name": "logout_token_hint", + "default": "off", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Adds the\n[`id_token_hint`](https://openid.net/specs/openid-connect-rpinitiated-1_0.html#RPLogout)\nargument to the\n[Provider's Logout Endpoint](https://openid.net/specs/openid-connect-rpinitiated-1_0.html#OPMetadata)\nwhen redirecting user during logout.\nThis argument can be required by some OpenID Providers.", + "description_html": "

Adds the\nid_token_hint\nargument to the\nProvider’s Logout Endpoint\nwhen redirecting user during logout.\nThis argument can be required by some OpenID Providers.

\n" }, { "name": "scope", @@ -6078,6 +6329,22 @@ "isBlock": false, "description_md": "Specifies a *`file`* with trusted CA certificates in the PEM format\nused to verify\nthe certificates of the OpenID Provider endpoints.", "description_html": "

Specifies a file with trusted CA certificates in the PEM format\nused to verify\nthe certificates of the OpenID Provider endpoints.

\n" + }, + { + "name": "userinfo", + "default": "off", + "contexts": [ + "oidc_provider" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Enables downloading of the\n[UserInfo](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo)\ndata and makes UserInfo claims available via the \n[$oidc_claim_`name`](https://nginx.org/en/docs/http/ngx_http_oidc_module.html#var_oidc_claim_) variables.", + "description_html": "

Enables downloading of the\nUserInfo\ndata and makes UserInfo claims available via the\n$oidcclaimname variables.

\n" } ], "variables": [ @@ -6093,8 +6360,13 @@ }, { "name": "$oidc_claim_NAME", - "description_md": "top-level ID token claim\n\nNested claims can be fetched with the\n[auth_jwt](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) module:\n```\nhttp {\n auth_jwt_claim_set $postal_code address postal_code;\n\n server {\n location / {\n auth_oidc my_idp;\n auth_jwt off token=$oidc_id_token;\n\n proxy_set_header x-postal_code $postal_code;\n proxy_pass http://backend;\n }\n }\n}\n```", - "description_html": "

top-level ID token claim

\n\n

Nested claims can be fetched with the\nauth_jwt module:

\n\n
http {\n    auth_jwt_claim_set $postal_code address postal_code;\n\n    server {\n        location / {\n            auth_oidc my_idp;\n            auth_jwt  off token=$oidc_id_token;\n\n            proxy_set_header x-postal_code $postal_code;\n            proxy_pass       http://backend;\n        }\n    }\n}\n
\n" + "description_md": "top-level ID token or UserInfo claim\n\nNested claims can be fetched with the\n[auth_jwt](https://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html) module:\n```\nhttp {\n auth_jwt_claim_set $postal_code address postal_code;\n\n server {\n location / {\n auth_oidc my_idp;\n auth_jwt off token=$oidc_id_token;\n\n proxy_set_header x-postal_code $postal_code;\n proxy_pass http://backend;\n }\n }\n}\n```", + "description_html": "

top-level ID token or UserInfo claim

\n\n

Nested claims can be fetched with the\nauth_jwt module:

\n\n
http {\n    auth_jwt_claim_set $postal_code address postal_code;\n\n    server {\n        location / {\n            auth_oidc my_idp;\n            auth_jwt  off token=$oidc_id_token;\n\n            proxy_set_header x-postal_code $postal_code;\n            proxy_pass       http://backend;\n        }\n    }\n}\n
\n" + }, + { + "name": "$oidc_userinfo", + "description_md": "UserInfo data in the JSON format (1.29.0)", + "description_html": "

UserInfo data in the JSON format (1.29.0)

\n" } ] }, @@ -8996,6 +9268,23 @@ "description_md": "Defines a cache that stores\n[SSL certificates](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate) and\n[secret keys](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_key)\nspecified with [variables](https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_certificate_key_variables).\n\nThe directive has the following parameters:\n- `max`\n\n sets the maximum number of elements in the cache;\n on cache overflow the least recently used (LRU) elements are removed;\n- `inactive`\n\n defines a time after which an element is removed from the cache\n if it has not been accessed during this time;\n by default, it is 10 seconds;\n- `valid`\n\n defines a time during which\n an element in the cache is considered valid\n and can be reused;\n by default, it is 60 seconds.\n Certificates that exceed this time will be reloaded or revalidated;\n- `off`\n\n disables the cache.\n\nExample:\n```\nssl_certificate $ssl_server_name.crt;\nssl_certificate_key $ssl_server_name.key;\nssl_certificate_cache max=1000 inactive=20s valid=1m;\n```", "description_html": "

Defines a cache that stores\nSSL certificates and\nsecret keys\nspecified with variables.

\n\n

The directive has the following parameters:

\n\n\n\n

Example:

\n\n
ssl_certificate       $ssl_server_name.crt;\nssl_certificate_key   $ssl_server_name.key;\nssl_certificate_cache max=1000 inactive=20s valid=1m;\n
\n" }, + { + "name": "ssl_certificate_compression", + "default": "off", + "contexts": [ + "http", + "server" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Enables TLS 1.3\n[compression](https://datatracker.ietf.org/doc/html/rfc8879)\nof server certificates.\n> The directive is supported when using OpenSSL 3.2 or higher;\n> the list of supported compression algorithms is provided by the library.", + "description_html": "

Enables TLS 1.3\ncompression\nof server certificates.

\n\n
\n

The directive is supported when using OpenSSL 3.2 or higher;\nthe list of supported compression algorithms is provided by the library.

\n
\n" + }, { "name": "ssl_certificate_key", "default": "", @@ -12591,6 +12880,23 @@ "description_md": "Specifies a *`file`* with the certificate in the PEM format\nfor the given server.\nIf intermediate certificates should be specified in addition to a primary\ncertificate, they should be specified in the same file in the following\norder: the primary certificate comes first, then the intermediate certificates.\nA secret key in the PEM format may be placed in the same file.\n\nSince version 1.11.0,\nthis directive can be specified multiple times\nto load certificates of different types, for example, RSA and ECDSA:\n```\nserver {\n listen 993 ssl;\n\n ssl_certificate example.com.rsa.crt;\n ssl_certificate_key example.com.rsa.key;\n\n ssl_certificate example.com.ecdsa.crt;\n ssl_certificate_key example.com.ecdsa.key;\n\n ...\n}\n```\n> Only OpenSSL 1.0.2 or higher supports separate\n> [certificate chains](https://nginx.org/en/docs/http/configuring_https_servers.html#chains)\n> for different certificates.\n> With older versions, only one certificate chain can be used.\n\nThe value\n`data`:*`certificate`*\ncan be specified instead of the *`file`* (1.15.10),\nwhich loads a certificate\nwithout using intermediate files.\nNote that inappropriate use of this syntax may have its security implications,\nsuch as writing secret key data to\n[error log](https://nginx.org/en/docs/ngx_core_module.html#error_log).", "description_html": "

Specifies a file with the certificate in the PEM format\nfor the given server.\nIf intermediate certificates should be specified in addition to a primary\ncertificate, they should be specified in the same file in the following\norder: the primary certificate comes first, then the intermediate certificates.\nA secret key in the PEM format may be placed in the same file.

\n\n

Since version 1.11.0,\nthis directive can be specified multiple times\nto load certificates of different types, for example, RSA and ECDSA:

\n\n
server {\n    listen              993 ssl;\n\n    ssl_certificate     example.com.rsa.crt;\n    ssl_certificate_key example.com.rsa.key;\n\n    ssl_certificate     example.com.ecdsa.crt;\n    ssl_certificate_key example.com.ecdsa.key;\n\n    ...\n}\n
\n\n
\n

Only OpenSSL 1.0.2 or higher supports separate\ncertificate chains\nfor different certificates.\nWith older versions, only one certificate chain can be used.

\n
\n\n

The value\ndata:certificate\ncan be specified instead of the file (1.15.10),\nwhich loads a certificate\nwithout using intermediate files.\nNote that inappropriate use of this syntax may have its security implications,\nsuch as writing secret key data to\nerror log.

\n" }, + { + "name": "ssl_certificate_compression", + "default": "off", + "contexts": [ + "mail", + "server" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Enables TLS 1.3\n[compression](https://datatracker.ietf.org/doc/html/rfc8879)\nof server certificates.\n> The directive is supported when using OpenSSL 3.2 or higher;\n> the list of supported compression algorithms is provided by the library.", + "description_html": "

Enables TLS 1.3\ncompression\nof server certificates.

\n\n
\n

The directive is supported when using OpenSSL 3.2 or higher;\nthe list of supported compression algorithms is provided by the library.

\n
\n" + }, { "name": "ssl_certificate_key", "default": "", @@ -13180,6 +13486,22 @@ "description_md": "If enabled, SSL objects\n(SSL certificates, secret keys, trusted CA certificates, CRL lists)\nwill be inherited across configuration reloads.\n\nSSL objects loaded from a file are inherited\nif the modification time and file index has not been changed\nsince the previous configuration load.\nSecret keys specified as\n`engine:name:id` are never inherited.\nSecret keys specified as\n`data:value` are always inherited.\n\n> SSL objects loaded from variables cannot be inherited.\n\nExample:\n```\nssl_object_cache_inheritable on;\n\nhttp {\n ...\n server {\n ...\n ssl_certificate example.com.crt;\n ssl_certificate_key example.com.key;\n }\n}\n```", "description_html": "

If enabled, SSL objects\n(SSL certificates, secret keys, trusted CA certificates, CRL lists)\nwill be inherited across configuration reloads.

\n\n

SSL objects loaded from a file are inherited\nif the modification time and file index has not been changed\nsince the previous configuration load.\nSecret keys specified as\nengine:name:id are never inherited.\nSecret keys specified as\ndata:value are always inherited.

\n\n
\n

SSL objects loaded from variables cannot be inherited.

\n
\n\n

Example:

\n\n
ssl_object_cache_inheritable on;\n\nhttp {\n    ...\n    server {\n        ...\n        ssl_certificate     example.com.crt;\n        ssl_certificate_key example.com.key;\n    }\n}\n
\n" }, + { + "name": "stall_threshold", + "default": "1000ms", + "contexts": [ + "events" + ], + "syntax_md": [ + "*`time`*" + ], + "syntax_html": [ + "

time

\n" + ], + "isBlock": false, + "description_md": "Allows overriding the default time threshold for the event loop iteration\nbefore a stall is reported.\nBy default, a stall is reported\nwhen an event loop iteration exceeds *`1000ms`*.\nIf the [`timer_resolution`](https://nginx.org/en/docs/ngx_core_module.html#timer_resolution) directive is enabled,\nthe time threshold will be ignored.\n\n> This directive is available as part of our\n> [commercial subscription](https://nginx.com/products/).", + "description_html": "

Allows overriding the default time threshold for the event loop iteration\nbefore a stall is reported.\nBy default, a stall is reported\nwhen an event loop iteration exceeds 1000ms.\nIf the timer_resolution directive is enabled,\nthe time threshold will be ignored.

\n\n
\n

This directive is available as part of our\ncommercial subscription.

\n
\n" + }, { "name": "thread_pool", "default": "default threads=32 max_queue=65536", @@ -15654,6 +15976,23 @@ "description_md": "Defines a cache that stores\n[SSL certificates](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html#ssl_certificate) and\n[secret keys](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html#ssl_certificate_key)\nspecified with [variables](https://nginx.org/en/docs/stream/ngx_stream_ssl_module.html#ssl_certificate_key_variables).\n\nThe directive has the following parameters:\n- `max`\n\n sets the maximum number of elements in the cache;\n on cache overflow the least recently used (LRU) elements are removed;\n- `inactive`\n\n defines a time after which an element is removed from the cache\n if it has not been accessed during this time;\n by default, it is 10 seconds;\n- `valid`\n\n defines a time during which\n an element in the cache is considered valid\n and can be reused;\n by default, it is 60 seconds.\n Certificates that exceed this time will be reloaded or revalidated;\n- `off`\n\n disables the cache.\n\nExample:\n```\nssl_certificate $ssl_server_name.crt;\nssl_certificate_key $ssl_server_name.key;\nssl_certificate_cache max=1000 inactive=20s valid=1m;\n```", "description_html": "

Defines a cache that stores\nSSL certificates and\nsecret keys\nspecified with variables.

\n\n

The directive has the following parameters:

\n\n\n\n

Example:

\n\n
ssl_certificate       $ssl_server_name.crt;\nssl_certificate_key   $ssl_server_name.key;\nssl_certificate_cache max=1000 inactive=20s valid=1m;\n
\n" }, + { + "name": "ssl_certificate_compression", + "default": "off", + "contexts": [ + "stream", + "server" + ], + "syntax_md": [ + "`on` | `off`" + ], + "syntax_html": [ + "

on | off

\n" + ], + "isBlock": false, + "description_md": "Enables TLS 1.3\n[compression](https://datatracker.ietf.org/doc/html/rfc8879)\nof server certificates.\n> The directive is supported when using OpenSSL 3.2 or higher;\n> the list of supported compression algorithms is provided by the library.", + "description_html": "

Enables TLS 1.3\ncompression\nof server certificates.

\n\n
\n

The directive is supported when using OpenSSL 3.2 or higher;\nthe list of supported compression algorithms is provided by the library.

\n
\n" + }, { "name": "ssl_certificate_key", "default": "", @@ -16867,5 +17206,5 @@ ] } ], - "version": "https://github.com/nginx/nginx.org/commit/fcef8c30af61b8d02d9e223c6daf1ab5c76d63ba" + "version": "https://github.com/nginx/nginx.org/commit/d670e1a9ff75d30e0142aa7bb34f152227041827" }