Mercurial > hg > nginx-site
annotate xml/en/docs/stream/stream_processing.xml @ 2717:ff8eeb6ac833
Updated with Netcraft April 2021 Web Server Survey stats.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Tue, 04 May 2021 20:47:31 +0100 |
parents | 2fd28cd4f2f8 |
children | 4959250ba429 |
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" |
2600
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
10 rev="3"> |
1797
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. |
2600
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
34 The |
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
35 <link doc="ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link> |
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
36 and |
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
37 <link doc="ngx_stream_set_module.xml">ngx_stream_set_module</link> |
2fd28cd4f2f8
Added set module for stream.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1798
diff
changeset
|
38 modules are invoked at this phase. |
1797
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
39 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
40 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
41 <tag-name id="access_phase"> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
42 <literal>Access</literal> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
43 </tag-name> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
44 <tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
45 Client access limitation before actual data processing. |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
46 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
|
47 module is invoked at this phase. |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
48 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
49 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
50 <tag-name id="ssl_phase"> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
51 <literal>SSL</literal> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
52 </tag-name> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
53 <tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
54 TLS/SSL termination. |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
55 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
|
56 module is invoked at this phase. |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
57 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
58 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
59 <tag-name id="preread_phase"> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
60 <literal>Preread</literal> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
61 </tag-name> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
62 <tag-desc> |
1798
59d1f512c3a0
Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1797
diff
changeset
|
63 Reading initial bytes of data into the |
59d1f512c3a0
Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1797
diff
changeset
|
64 <link doc="ngx_stream_core_module.xml" id="preread_buffer_size">preread buffer</link> |
59d1f512c3a0
Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1797
diff
changeset
|
65 to allow modules such as |
59d1f512c3a0
Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1797
diff
changeset
|
66 <link doc="ngx_stream_ssl_preread_module.xml">ngx_stream_ssl_preread_module</link> |
59d1f512c3a0
Documented the ngx_stream_ssl_preread_module module.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
1797
diff
changeset
|
67 analyze the data before its processing. |
1797
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
68 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
69 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
70 <tag-name id="content_phase"> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
71 <literal>Content</literal> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
72 </tag-name> |
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 Mandatory phase where data is actually processed, usually |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
75 <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
|
76 <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
|
77 or a specified value |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
78 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
|
79 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
80 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
81 <tag-name id="log_phase"> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
82 <literal>Log</literal> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
83 </tag-name> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
84 <tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
85 The final phase |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
86 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
|
87 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
|
88 module is invoked at this phase. |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
89 </tag-desc> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
90 </list> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
91 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
92 </para> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
93 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
94 </section> |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
95 |
be868c8f6e9c
Added article about processing TCP/UDP sessions.
Yaroslav Zhuravlev <yar@nginx.com>
parents:
diff
changeset
|
96 </article> |