Mercurial > hg > nginx-site
diff xml/en/docs/stream/stream_processing.xml @ 1797:be868c8f6e9c
Added article about processing TCP/UDP sessions.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Wed, 21 Sep 2016 15:35:35 +0300 |
parents | |
children | 59d1f512c3a0 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/xml/en/docs/stream/stream_processing.xml @@ -0,0 +1,90 @@ +<!-- + Copyright (C) Nginx, Inc. + --> + +<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> + +<article name="How nginx processes a TCP/UDP session" + link="/en/docs/stream/stream_processing.html" + lang="en" + rev="1"> + +<section> + +<para> +A TCP/UDP session from a client is processed +in successive steps called <b>phases</b>: + +<list type="tag"> + +<tag-name id="postaccept_phase"> +<literal>Post-accept</literal> +</tag-name> +<tag-desc> +The first phase after accepting a client connection. +The <link doc="ngx_stream_realip_module.xml">ngx_stream_realip_module</link> +module is invoked at this phase. +</tag-desc> + +<tag-name id="preaccess_phase"> +<literal>Pre-access</literal> +</tag-name> +<tag-desc> +Preliminary check for access. +The <link doc="ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link> +module is invoked at this phase. +</tag-desc> + +<tag-name id="access_phase"> +<literal>Access</literal> +</tag-name> +<tag-desc> +Client access limitation before actual data processing. +The <link doc="ngx_stream_access_module.xml">ngx_stream_access_module</link> +module is invoked at this phase. +</tag-desc> + +<tag-name id="ssl_phase"> +<literal>SSL</literal> +</tag-name> +<tag-desc> +TLS/SSL termination. +The <link doc="ngx_stream_ssl_module.xml">ngx_stream_ssl_module</link> +module is invoked at this phase. +</tag-desc> + +<tag-name id="preread_phase"> +<literal>Preread</literal> +</tag-name> +<tag-desc> +Reading initial bytes of data into the preread buffer +to allow analyzing the data before its processing. +</tag-desc> + +<tag-name id="content_phase"> +<literal>Content</literal> +</tag-name> +<tag-desc> +Mandatory phase where data is actually processed, usually +<link doc="ngx_stream_proxy_module.xml">proxied</link> to +<link doc="ngx_stream_upstream_module.xml">upstream</link> servers, +or a specified value +is <link doc="ngx_stream_return_module.xml">returned</link> to a client. +</tag-desc> + +<tag-name id="log_phase"> +<literal>Log</literal> +</tag-name> +<tag-desc> +The final phase +where the result of a client session processing is recorded. +The <link doc="ngx_stream_log_module.xml">ngx_stream_log_module</link> +module is invoked at this phase. +</tag-desc> +</list> + +</para> + +</section> + +</article>