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