comparison 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
comparison
equal deleted inserted replaced
1796:1d576e8d6ead 1797:be868c8f6e9c
1 <!--
2 Copyright (C) Nginx, Inc.
3 -->
4
5 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
6
7 <article name="How nginx processes a TCP/UDP session"
8 link="/en/docs/stream/stream_processing.html"
9 lang="en"
10 rev="1">
11
12 <section>
13
14 <para>
15 A TCP/UDP session from a client is processed
16 in successive steps called <b>phases</b>:
17
18 <list type="tag">
19
20 <tag-name id="postaccept_phase">
21 <literal>Post-accept</literal>
22 </tag-name>
23 <tag-desc>
24 The first phase after accepting a client connection.
25 The <link doc="ngx_stream_realip_module.xml">ngx_stream_realip_module</link>
26 module is invoked at this phase.
27 </tag-desc>
28
29 <tag-name id="preaccess_phase">
30 <literal>Pre-access</literal>
31 </tag-name>
32 <tag-desc>
33 Preliminary check for access.
34 The <link doc="ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link>
35 module is invoked at this phase.
36 </tag-desc>
37
38 <tag-name id="access_phase">
39 <literal>Access</literal>
40 </tag-name>
41 <tag-desc>
42 Client access limitation before actual data processing.
43 The <link doc="ngx_stream_access_module.xml">ngx_stream_access_module</link>
44 module is invoked at this phase.
45 </tag-desc>
46
47 <tag-name id="ssl_phase">
48 <literal>SSL</literal>
49 </tag-name>
50 <tag-desc>
51 TLS/SSL termination.
52 The <link doc="ngx_stream_ssl_module.xml">ngx_stream_ssl_module</link>
53 module is invoked at this phase.
54 </tag-desc>
55
56 <tag-name id="preread_phase">
57 <literal>Preread</literal>
58 </tag-name>
59 <tag-desc>
60 Reading initial bytes of data into the preread buffer
61 to allow analyzing the data before its processing.
62 </tag-desc>
63
64 <tag-name id="content_phase">
65 <literal>Content</literal>
66 </tag-name>
67 <tag-desc>
68 Mandatory phase where data is actually processed, usually
69 <link doc="ngx_stream_proxy_module.xml">proxied</link> to
70 <link doc="ngx_stream_upstream_module.xml">upstream</link> servers,
71 or a specified value
72 is <link doc="ngx_stream_return_module.xml">returned</link> to a client.
73 </tag-desc>
74
75 <tag-name id="log_phase">
76 <literal>Log</literal>
77 </tag-name>
78 <tag-desc>
79 The final phase
80 where the result of a client session processing is recorded.
81 The <link doc="ngx_stream_log_module.xml">ngx_stream_log_module</link>
82 module is invoked at this phase.
83 </tag-desc>
84 </list>
85
86 </para>
87
88 </section>
89
90 </article>