Mercurial > hg > nginx-site
changeset 1662:48615cf80e20
Documented the UDP proxy functionality.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 15 Mar 2016 16:31:42 +0300 |
parents | 0da7c65fdae5 |
children | 552c06be2335 |
files | xml/en/docs/stream/ngx_stream_core_module.xml xml/en/docs/stream/ngx_stream_proxy_module.xml xml/en/docs/windows.xml xml/en/index.xml xml/ru/docs/stream/ngx_stream_core_module.xml xml/ru/docs/stream/ngx_stream_proxy_module.xml xml/ru/docs/windows.xml xml/ru/index.xml |
diffstat | 8 files changed, 137 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/docs/stream/ngx_stream_core_module.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/en/docs/stream/ngx_stream_core_module.xml Tue Mar 15 16:31:42 2016 +0300 @@ -9,7 +9,7 @@ <module name="Module ngx_stream_core_module" link="/en/docs/stream/ngx_stream_core_module.html" lang="en" - rev="10"> + rev="11"> <section id="summary"> @@ -45,6 +45,11 @@ server unix:/tmp/backend3; } + upstream dns { + server 192.168.0.1:53535; + server dns.example.com:53; + } + server { listen 12345; proxy_connect_timeout 1s; @@ -53,6 +58,13 @@ } server { + listen 127.0.0.1:53 udp; + proxy_responses 1; + proxy_timeout 20s; + proxy_pass dns; + } + + server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } @@ -69,6 +81,7 @@ <syntax> <value>address</value>:<value>port</value> [<literal>ssl</literal>] + [<literal>udp</literal>] [<literal>backlog</literal>=<value>number</value>] [<literal>bind</literal>] [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>] @@ -107,6 +120,11 @@ </para> <para> +The <literal>udp</literal> parameter configures a listening socket +for working with datagrams (1.9.13). +</para> + +<para> The <literal>listen</literal> directive can have several additional parameters specific to socket-related system calls. <list type="tag">
--- a/xml/en/docs/stream/ngx_stream_proxy_module.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/en/docs/stream/ngx_stream_proxy_module.xml Tue Mar 15 16:31:42 2016 +0300 @@ -9,13 +9,13 @@ <module name="Module ngx_stream_proxy_module" link="/en/docs/stream/ngx_stream_proxy_module.html" lang="en" - rev="12"> + rev="13"> <section id="summary"> <para> -The <literal>ngx_stream_proxy_module</literal> module (1.9.0) allows passing -connections to another server over TCP and UNIX-domain sockets. +The <literal>ngx_stream_proxy_module</literal> module (1.9.0) allows proxying +data streams over TCP, UDP (1.9.13), and UNIX-domain sockets. </para> </section> @@ -38,6 +38,13 @@ } server { + listen 53 udp; + proxy_responses 1; + proxy_timeout 20s; + proxy_pass dns.example.com:53; +} + +server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } @@ -211,6 +218,26 @@ </directive> +<directive name="proxy_responses"> +<syntax><value>number</value></syntax> +<default/> +<context>stream</context> +<context>server</context> +<appeared-in>1.9.13</appeared-in> + +<para> +Sets the number of datagrams expected from the proxied server +in response to the client request +if the <link doc="ngx_stream_core_module.xml" id="udp">UDP</link> +protocol is used. +By default, the number of datagrams is not limited: +the response datagrams will be sent +until the <link id="proxy_timeout"/> value expires. +</para> + +</directive> + + <directive name="proxy_ssl"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default>
--- a/xml/en/docs/windows.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/en/docs/windows.xml Tue Mar 15 16:31:42 2016 +0300 @@ -8,7 +8,7 @@ <article name="nginx for Windows" link="/en/docs/windows.html" lang="en" - rev="2"> + rev="3"> <section> @@ -130,6 +130,10 @@ address space layout randomization being enabled in these Windows versions. </listitem> +<listitem> +The UDP proxy functionality is not supported. +</listitem> + </list> </section>
--- a/xml/en/index.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/en/index.xml Tue Mar 15 16:31:42 2016 +0300 @@ -8,7 +8,7 @@ <article name="nginx" link="/en/" lang="en" - rev="53"> + rev="54"> <section> @@ -16,7 +16,7 @@ <para> nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, -and a generic TCP proxy server, +and a generic TCP/UDP proxy server, originally written by <link url="http://sysoev.ru/en/">Igor Sysoev</link>. For a long time, it has been running on many heavily loaded Russian sites including @@ -272,17 +272,24 @@ </section> -<section id="tcp_proxy_server_features" - name="TCP proxy server features"> +<section id="generic_proxy_server_features" + name="TCP/UDP proxy server features"> <para> <list type="bullet"> <listitem> <link doc="docs/stream/ngx_stream_proxy_module.xml">Generic proxying</link> -with -<link doc="docs/stream/ngx_stream_ssl_module.xml">SSL termination</link>; -<link doc="docs/stream/ngx_stream_upstream_module.xml">load balancing +of TCP and UDP; +</listitem> + +<listitem> +<link doc="docs/stream/ngx_stream_ssl_module.xml">SSL termination</link> +for TCP; +</listitem> + +<listitem> +<link doc="docs/stream/ngx_stream_upstream_module.xml">Load balancing and fault tolerance</link>; </listitem>
--- a/xml/ru/docs/stream/ngx_stream_core_module.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/ru/docs/stream/ngx_stream_core_module.xml Tue Mar 15 16:31:42 2016 +0300 @@ -9,7 +9,7 @@ <module name="Модуль ngx_stream_core_module" link="/ru/docs/stream/ngx_stream_core_module.html" lang="ru" - rev="10"> + rev="11"> <section id="summary"> @@ -45,6 +45,11 @@ server unix:/tmp/backend3; } + upstream dns { + server 192.168.0.1:53535; + server dns.example.com:53; + } + server { listen 12345; proxy_connect_timeout 1s; @@ -53,6 +58,13 @@ } server { + listen 127.0.0.1:53 udp; + proxy_responses 1; + proxy_timeout 20s; + proxy_pass dns; + } + + server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } @@ -69,6 +81,7 @@ <syntax> <value>адрес</value>:<value>порт</value> [<literal>ssl</literal>] + [<literal>udp</literal>] [<literal>backlog</literal>=<value>число</value>] [<literal>bind</literal>] [<literal>ipv6only</literal>=<literal>on</literal>|<literal>off</literal>] @@ -106,6 +119,11 @@ </para> <para> +Параметр <literal>udp</literal> конфигурирует слушающий сокет +для работы с датаграммами (1.9.13). +</para> + +<para> В директиве <literal>listen</literal> можно также указать несколько дополнительных параметров, специфичных для связанных с сокетами системных вызовов.
--- a/xml/ru/docs/stream/ngx_stream_proxy_module.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/ru/docs/stream/ngx_stream_proxy_module.xml Tue Mar 15 16:31:42 2016 +0300 @@ -9,13 +9,13 @@ <module name="Модуль ngx_stream_proxy_module" link="/ru/docs/stream/ngx_stream_proxy_module.html" lang="ru" - rev="12"> + rev="13"> <section id="summary"> <para> -Модуль <literal>ngx_stream_proxy_module</literal> (1.9.0) позволяет передавать -соединения другому серверу по TCP и UNIX-сокетам. +Модуль <literal>ngx_stream_proxy_module</literal> (1.9.0) позволяет проксировать +потоки данных по TCP, UDP (1.9.13) и UNIX-сокетам. </para> </section> @@ -38,6 +38,13 @@ } server { + listen 53 udp; + proxy_responses 1; + proxy_timeout 20s; + proxy_pass dns.example.com:53; +} + +server { listen [::1]:12345; proxy_pass unix:/tmp/stream.socket; } @@ -212,6 +219,26 @@ </directive> +<directive name="proxy_responses"> +<syntax><value>число</value></syntax> +<default/> +<context>stream</context> +<context>server</context> +<appeared-in>1.9.13</appeared-in> + +<para> +Задаёт количество датаграмм, ожидаемых от проксируемого сервера +в ответ на запрос клиента +в случае, если используется протокол +<link doc="ngx_stream_core_module.xml" id="udp">UDP</link>. +По умолчанию количество датаграмм не ограничено: +ответные датаграммы будут отправляться +до истечения значения <link id="proxy_timeout"/>. +</para> + +</directive> + + <directive name="proxy_ssl"> <syntax><literal>on</literal> | <literal>off</literal></syntax> <default>off</default>
--- a/xml/ru/docs/windows.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/ru/docs/windows.xml Tue Mar 15 16:31:42 2016 +0300 @@ -8,7 +8,7 @@ <article name="nginx под Windows" link="/ru/docs/windows.html" lang="ru" - rev="2"> + rev="3"> <section> @@ -130,6 +130,10 @@ версиях Windows включена рандомизация адресного пространства. </listitem> +<listitem> +Проксирование по UDP не поддерживается. +</listitem> + </list> </section>
--- a/xml/ru/index.xml Tue Mar 15 13:26:18 2016 +0300 +++ b/xml/ru/index.xml Tue Mar 15 16:31:42 2016 +0300 @@ -8,7 +8,7 @@ <article name="nginx" link="/ru/" lang="ru" - rev="53"> + rev="54"> <section> @@ -16,7 +16,7 @@ <para> nginx [engine x]—это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, -а также TCP прокси-сервер общего назначения, +а также TCP/UDP прокси-сервер общего назначения, изначально написанный <link url="http://sysoev.ru">Игорем Сысоевым</link>. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как @@ -271,17 +271,24 @@ </section> -<section id="tcp_proxy_server_features" - name="Функциональность TCP прокси-сервера"> +<section id="generic_proxy_server_features" + name="Функциональность TCP/UDP прокси-сервера"> <para> <list type="bullet"> <listitem> -<link doc="docs/stream/ngx_stream_proxy_module.xml">Проксирование</link> -с -<link doc="docs/stream/ngx_stream_ssl_module.xml">SSL termination</link>; -<link doc="docs/stream/ngx_stream_upstream_module.xml">распределение нагрузки +<link doc="docs/stream/ngx_stream_proxy_module.xml">Проксирование +TCP и UDP;</link> +</listitem> + +<listitem> +<link doc="docs/stream/ngx_stream_ssl_module.xml">SSL termination</link> +для TCP; +</listitem> + +<listitem> +<link doc="docs/stream/ngx_stream_upstream_module.xml">Распределение нагрузки и отказоустойчивость</link>; </listitem>