xml/en/docs/http/ngx_http_core_module.xml | 107 +++++++++++++++++++++++++- xml/en/docs/stream/ngx_stream_core_module.xml | 105 +++++++++++++++++++++++++- xml/ru/docs/http/ngx_http_core_module.xml | 106 +++++++++++++++++++++++++- xml/ru/docs/stream/ngx_stream_core_module.xml | 106 +++++++++++++++++++++++++- 4 files changed, 420 insertions(+), 4 deletions(-)
# HG changeset patch # User Yaroslav Zhuravlev <y...@nginx.com> # Date 1666118553 -3600 # Tue Oct 18 19:42:33 2022 +0100 # Node ID 881627fb56bfff009297b6cc15cd1f5d58ebc030 # Parent 3f5e91af4a52c5b8bbc75c0ea31e3ceac0bebea8 Documented the $proxy_protocol_tlv_ variable. diff --git a/xml/en/docs/http/ngx_http_core_module.xml b/xml/en/docs/http/ngx_http_core_module.xml --- a/xml/en/docs/http/ngx_http_core_module.xml +++ b/xml/en/docs/http/ngx_http_core_module.xml @@ -10,7 +10,7 @@ <module name="Module ngx_http_core_module" link="/en/docs/http/ngx_http_core_module.html" lang="en" - rev="100"> + rev="101"> <section id="directives" name="Directives"> @@ -3228,6 +3228,111 @@ </para> </tag-desc> +<tag-name id="var_proxy_protocol_tlv_"><var>$proxy_protocol_tlv_</var><value>name</value></tag-name> +<tag-desc> +TLV from the PROXY Protocol header (1.23.2). +The <literal>name</literal> can be a TLV type name or its numeric value. +In the latter case, the value is hexadecimal +and should be prefixed with <literal>0x</literal>: + +<example> +$proxy_protocol_tlv_alpn +$proxy_protocol_tlv_0x01 +</example> +SSL TLVs can also be accessed by TLV type name +or its numeric value, +both prefixed by <literal>ssl_</literal>: +<example> +$proxy_protocol_tlv_ssl_version +$proxy_protocol_tlv_ssl_0x22 +</example> + +<para> +The following TLV type names are supported: +<list type="bullet"> + +<listitem> +<literal>alpn</literal> (<literal>0x01</literal>)— +upper layer protocol used over the connection +</listitem> + +<listitem> +<literal>authority</literal> (<literal>0x02</literal>)— +host name value passed by the client +</listitem> + +<listitem> +<literal>unique_id</literal> (<literal>0x05</literal>)— +unique connection id +</listitem> + +<listitem> +<literal>netns</literal> (<literal>0x30</literal>)— +name of the namespace +</listitem> + +<listitem> +<literal>ssl</literal> (<literal>0x20</literal>)— +client SSL fields as binary +</listitem> + +</list> +</para> + +<para> +The following SSL TLV type names are supported: +<list type="bullet"> + +<listitem> +<literal>ssl_version</literal> (<literal>0x21</literal>)— +SSL version used in client connection +</listitem> + +<listitem> +<literal>ssl_cn</literal> (<literal>0x22</literal>)— +SSL certificate Common Name +</listitem> + +<listitem> +<literal>ssl_cipher</literal> (<literal>0x23</literal>)— +name of the used cipher +</listitem> + +<listitem> +<literal>ssl_sig_alg</literal> (<literal>0x24</literal>)— +algorithm used to sign the certificate +</listitem> + +<listitem> +<literal>ssl_key_alg</literal> (<literal>0x25</literal>)— +public-key algorithm +</listitem> + +</list> +</para> + +<para> +Also, the following special SSL TLV type name is supported: +<list type="bullet"> + +<listitem> +<literal>ssl_verify</literal>— +client SSL certificate verification result, +<literal>0</literal> if the client presented a certificate +and it was successfully verified, +non-zero otherwise. +</listitem> + +</list> +</para> + +<para> +The PROXY protocol must be previously enabled by setting the +<literal>proxy_protocol</literal> parameter +in the <link id="listen"/> directive. +</para> +</tag-desc> + <tag-name id="var_query_string"><var>$query_string</var></tag-name> <tag-desc> same as <var>$args</var> diff --git a/xml/en/docs/stream/ngx_stream_core_module.xml b/xml/en/docs/stream/ngx_stream_core_module.xml --- a/xml/en/docs/stream/ngx_stream_core_module.xml +++ b/xml/en/docs/stream/ngx_stream_core_module.xml @@ -9,7 +9,7 @@ <module name="Module ngx_stream_core_module" link="/en/docs/stream/ngx_stream_core_module.html" lang="en" - rev="35"> + rev="36"> <section id="summary"> @@ -587,6 +587,109 @@ </para> </tag-desc> +<tag-name id="var_proxy_protocol_tlv_"><var>$proxy_protocol_tlv_</var><value>name</value></tag-name> +<tag-desc> +TLV from the PROXY Protocol header (1.23.2). +The <literal>name</literal> can be a TLV type name or its numeric value. +In the latter case, the value is hexadecimal +and should be prefixed with <literal>0x</literal>: + +<example> +$proxy_protocol_tlv_alpn +$proxy_protocol_tlv_0x01 +</example> +SSL TLVs can also be accessed by TLV type name or its numeric value, +both prefixed by <literal>ssl_</literal>: +<example> +$proxy_protocol_tlv_ssl_version +$proxy_protocol_tlv_ssl_0x22 +</example> + +<para> +The following TLV type names are supported: +<list type="bullet"> + +<listitem> +<literal>alpn</literal> (<literal>0x01</literal>)— +upper layer protocol used over the connection +</listitem> + +<listitem> +<literal>authority</literal> (<literal>0x02</literal>)— +host name value passed by the client +</listitem> + +<listitem> +<literal>unique_id</literal> (<literal>0x05</literal>)— +unique connection id +</listitem> + +<listitem> +<literal>netns</literal> (<literal>0x30</literal>)— +name of the namespace +</listitem> + +<listitem> +<literal>ssl</literal> (<literal>0x20</literal>)— +client SSL fields as binary +</listitem> + +</list> +</para> + +<para> +The following SSL TLV type names are supported: +<list type="bullet"> + +<listitem> +<literal>ssl_version</literal> (<literal>0x21</literal>)— +SSL version used in client connection +</listitem> + +<listitem> +<literal>ssl_cn</literal> (<literal>0x22</literal>)— +SSL certificate Common Name +</listitem> + +<listitem> +<literal>ssl_cipher</literal> (<literal>0x23</literal>)— +name of the used cipher +</listitem> + +<listitem> +<literal>ssl_sig_alg</literal> (<literal>0x24</literal>)— +algorithm used to sign the certificate +</listitem> + +<listitem> +<literal>ssl_key_alg</literal> (<literal>0x25</literal>)— +public-key algorithm +</listitem> + +</list> +</para> + +<para> +Also, the following special SSL TLV type name is supported: +<list type="bullet"> + +<listitem> +<literal>ssl_verify</literal>— +client SSL certificate verification result, +zero if the client presented a certificate +and it was successfully verified, and non-zero otherwise +</listitem> + +</list> +</para> + +<para> +The PROXY protocol must be previously enabled by setting the +<literal>proxy_protocol</literal> parameter +in the <link id="listen"/> directive. +</para> +</tag-desc> + <tag-name id="var_remote_addr"><var>$remote_addr</var></tag-name> <tag-desc> client address diff --git a/xml/ru/docs/http/ngx_http_core_module.xml b/xml/ru/docs/http/ngx_http_core_module.xml --- a/xml/ru/docs/http/ngx_http_core_module.xml +++ b/xml/ru/docs/http/ngx_http_core_module.xml @@ -10,7 +10,7 @@ <module name="Модуль ngx_http_core_module" link="/ru/docs/http/ngx_http_core_module.html" lang="ru" - rev="100"> + rev="101"> <section id="directives" name="Директивы"> @@ -3221,6 +3221,110 @@ </para> </tag-desc> +<tag-name id="var_proxy_protocol_tlv_"><var>$proxy_protocol_tlv_</var><value>имя</value></tag-name> +<tag-desc> +TLV, полученный из заголовка протокола PROXY (1.23.2). +<literal>Имя</literal> может быть именем типа TLV или его числовым значением. +В последнем случае значение задаётся в шестнадцатеричном виде +и должно начинаться с <literal>0x</literal>: + +<example> +$proxy_protocol_tlv_alpn +$proxy_protocol_tlv_0x01 +</example> +SSL TLV могут также быть доступны как по имени типа TLV, +так и по его числовому значению, +оба должны начинаться с <literal>ssl_</literal>: +<example> +$proxy_protocol_tlv_ssl_version +$proxy_protocol_tlv_ssl_0x22 +</example> + +<para> +Поддерживаются следующие имена типов TLV: +<list type="bullet"> + +<listitem> +<literal>alpn</literal> (<literal>0x01</literal>)— +протокол более высокого уровня, используемый поверх соединения +</listitem> + +<listitem> +<literal>authority</literal> (<literal>0x02</literal>)— +значение имени хоста, передаваемое клиентом +</listitem> + +<listitem> +<literal>unique_id</literal> (<literal>0x05</literal>)— +уникальный идентификатор соединения +</listitem> + +<listitem> +<literal>netns</literal> (<literal>0x30</literal>)— +имя пространства имён +</listitem> + +<listitem> +<literal>ssl</literal> (<literal>0x20</literal>)— +клиентские SSL поля в бинарном виде +</listitem> + +</list> +</para> + +<para> +Поддерживаются следующие имена типов SSL TLV: +<list type="bullet"> + +<listitem> +<literal>ssl_version</literal> (<literal>0x21</literal>)— +версия SSL, используемая в клиентском соединении +</listitem> + +<listitem> +<literal>ssl_cn</literal> (<literal>0x22</literal>)— +Common Name сертификата +</listitem> + +<listitem> +<literal>ssl_cipher</literal> (<literal>0x23</literal>)— +имя используемого шифра +</listitem> + +<listitem> +<literal>ssl_sig_alg</literal> (<literal>0x24</literal>)— +алгоритм, используемый для подписи сертификата +</listitem> + +<listitem> +<literal>ssl_key_alg</literal> (<literal>0x25</literal>)— +алгоритм публичного ключа +</listitem> + +</list> +</para> + +<para> +Также поддерживается следующее специальное имя типа SSL TLV: +<list type="bullet"> + +<listitem> +<literal>ssl_verify</literal>— +результат проверки клиентского сертификата: +<literal>0</literal>, если клиент предоставил сертификат +и он был успешно верифицирован, +либо ненулевое значение +</listitem> + +</list> +</para> + +<para> +Протокол PROXY должен быть предварительно включён при помощи установки +параметра <literal>proxy_protocol</literal> в директиве <link id="listen"/>. +</para> +</tag-desc> + <tag-name id="var_query_string"><var>$query_string</var></tag-name> <tag-desc> то же, что и <var>$args</var> diff --git a/xml/ru/docs/stream/ngx_stream_core_module.xml b/xml/ru/docs/stream/ngx_stream_core_module.xml --- a/xml/ru/docs/stream/ngx_stream_core_module.xml +++ b/xml/ru/docs/stream/ngx_stream_core_module.xml @@ -9,7 +9,7 @@ <module name="Модуль ngx_stream_core_module" link="/ru/docs/stream/ngx_stream_core_module.html" lang="ru" - rev="35"> + rev="36"> <section id="summary"> @@ -591,6 +591,110 @@ </para> </tag-desc> +<tag-name id="var_proxy_protocol_tlv_"><var>$proxy_protocol_tlv_</var><value>имя</value></tag-name> +<tag-desc> +TLV, полученный из заголовка протокола PROXY (1.23.2). +<literal>Имя</literal> может быть именем типа TLV или его числовым значением. +В последнем случае значение задаётся в шестнадцатеричном виде +и должно начинаться с <literal>0x</literal>: + +<example> +$proxy_protocol_tlv_alpn +$proxy_protocol_tlv_0x01 +</example> +SSL TLV могут также быть доступны как по имени типа TLV, +так и по его числовому значению, +оба должны начинаться с <literal>ssl_</literal>: +<example> +$proxy_protocol_tlv_ssl_version +$proxy_protocol_tlv_ssl_0x22 +</example> + +<para> +Поддерживаются следующие имена типов TLV: +<list type="bullet"> + +<listitem> +<literal>alpn</literal> (<literal>0x01</literal>)— +протокол более высокого уровня, используемый поверх соединения +</listitem> + +<listitem> +<literal>authority</literal> (<literal>0x02</literal>)— +значение имени хоста, передаваемое клиентом +</listitem> + +<listitem> +<literal>unique_id</literal> (<literal>0x05</literal>)— +уникальный идентификатор соединения +</listitem> + +<listitem> +<literal>netns</literal> (<literal>0x30</literal>)— +имя пространства имён +</listitem> + +<listitem> +<literal>ssl</literal> (<literal>0x20</literal>)— +клиентские SSL поля в бинарном виде +</listitem> + +</list> +</para> + +<para> +Поддерживаются следующие имена типов SSL TLV: +<list type="bullet"> + +<listitem> +<literal>ssl_version</literal> (<literal>0x21</literal>)— +версия SSL, используемая в клиентском соединении +</listitem> + +<listitem> +<literal>ssl_cn</literal> (<literal>0x22</literal>)— +Common Name сертификата +</listitem> + +<listitem> +<literal>ssl_cipher</literal> (<literal>0x23</literal>)— +имя используемого шифра +</listitem> + +<listitem> +<literal>ssl_sig_alg</literal> (<literal>0x24</literal>)— +алгоритм, используемый для подписи сертификата +</listitem> + +<listitem> +<literal>ssl_key_alg</literal> (<literal>0x25</literal>)— +алгоритм публичного ключа +</listitem> + +</list> +</para> + +<para> +Также поддерживается следующее специальное имя типа SSL TLV: +<list type="bullet"> + +<listitem> +<literal>ssl_verify</literal>— +результат проверки клиентского сертификата: +<literal>0</literal>, если клиент предоставил сертификат +и он был успешно верифицирован, +либо ненулевое значение +</listitem> + +</list> +</para> + +<para> +Протокол PROXY должен быть предварительно включён при помощи установки +параметра <literal>proxy_protocol</literal> в директиве <link id="listen"/>. +</para> +</tag-desc> + <tag-name id="var_remote_addr"><var>$remote_addr</var></tag-name> <tag-desc> адрес клиента
_______________________________________________ nginx-devel mailing list -- nginx-devel@nginx.org To unsubscribe send an email to nginx-devel-le...@nginx.org