Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/docs/stream/stream_processing.xml
1 views
1
<!--
2
Copyright (C) Nginx, Inc.
3
-->
4
5
<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
6
7
<article name="Как nginx обрабатывает TCP/UDP-сессии"
8
link="/ru/docs/stream/stream_processing.html"
9
lang="ru"
10
rev="4">
11
12
<section>
13
14
<para>
15
Обработка клиентской TCP/UDP-сессии происходит
16
последовательными <b>фазами</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
Первая фаза после принятия клиентского соединения.
25
В этой фазе выполняется модуль
26
<link doc="ngx_stream_realip_module.xml">ngx_stream_realip_module</link>.
27
</tag-desc>
28
29
<tag-name id="preaccess_phase">
30
<literal>Pre-access</literal>
31
</tag-name>
32
<tag-desc>
33
Предварительная проверка доступа.
34
В этой фазе выполняются модули
35
<link doc="ngx_stream_limit_conn_module.xml">ngx_stream_limit_conn_module</link>
36
и
37
<link doc="ngx_stream_set_module.xml">ngx_stream_set_module</link>.
38
</tag-desc>
39
40
<tag-name id="access_phase">
41
<literal>Access</literal>
42
</tag-name>
43
<tag-desc>
44
Ограничение доступа для клиента перед обработкой данных.
45
В этой фазе
46
выполняется модуль
47
<link doc="ngx_stream_access_module.xml">ngx_stream_access_module</link>,
48
при использовании <link doc="../njs/index.xml">njs</link>
49
выполняется
50
директива <link doc="ngx_stream_js_module.xml" id="js_access"/>.
51
52
</tag-desc>
53
54
<tag-name id="ssl_phase">
55
<literal>SSL</literal>
56
</tag-name>
57
<tag-desc>
58
59
Терминирование TLS/SSL.
60
В этой фазе выполняется модуль
61
<link doc="ngx_stream_ssl_module.xml">ngx_stream_ssl_module</link>.
62
</tag-desc>
63
64
<tag-name id="preread_phase">
65
<literal>Preread</literal>
66
</tag-name>
67
<tag-desc>
68
Чтение первых байт данных в
69
<link doc="ngx_stream_core_module.xml" id="preread_buffer_size">буфер
70
предварительного чтения</link> для анализа,
71
например модулем
72
<link doc="ngx_stream_ssl_preread_module.xml">ngx_stream_ssl_preread_module</link>,
73
перед их обработкой.
74
При использовании <link doc="../njs/index.xml">njs</link>
75
в этой фазе выполняется
76
директива <link doc="ngx_stream_js_module.xml" id="js_preread"/>.
77
</tag-desc>
78
79
<tag-name id="content_phase">
80
<literal>Content</literal>
81
</tag-name>
82
<tag-desc>
83
Обязательная фаза, в которой происходит обработка данных, как правило
84
<link doc="ngx_stream_proxy_module.xml">проксирование</link> на
85
<link doc="ngx_stream_upstream_module.xml">группу серверов</link>
86
или <link doc="ngx_stream_return_module.xml">отправка</link> клиенту
87
заданного значения.
88
При использовании <link doc="../njs/index.xml">njs</link>
89
в этой фазе выполняется
90
директива <link doc="ngx_stream_js_module.xml" id="js_filter"/>.
91
</tag-desc>
92
93
<tag-name id="log_phase">
94
<literal>Log</literal>
95
</tag-name>
96
<tag-desc>
97
Заключительная фаза,
98
в которой записывается результат обработки клиентской сессии.
99
В этой фазе выполняется модуль
100
<link doc="ngx_stream_log_module.xml">ngx_stream_log_module</link>.
101
</tag-desc>
102
</list>
103
104
</para>
105
106
</section>
107
108
</article>
109
110