Mercurial > hg > nginx-quic
annotate docs/man/nginx.8 @ 7810:167d32476737 quic
Crypto buffer frames reordering.
If offset in CRYPTO frame doesn't match expected, following actions are taken:
a) Duplicate frames or frames within [0...current offset] are ignored
b) New data from intersecting ranges (starts before current_offset, ends
after) is consumed
c) "Future" frames are stored in a sorted queue (min offset .. max offset)
Once a frame is consumed, current offset is updated and the queue is inspected:
we iterate the queue until the gap is found and act as described
above for each frame.
The amount of data in buffered frames is limited by corresponding macro.
The CRYPTO and STREAM frame structures are now compatible: they share
the same set of initial fields. This allows to have code that deals with
both of this frames.
The ordering layer now processes the frame with offset and invokes the
handler when it can organise an ordered stream of data.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Tue, 14 Apr 2020 12:16:25 +0300 |
parents | 4718a646187a |
children | f18db38a9826 |
rev | line source |
---|---|
3788 | 1 .\" |
7608
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
2 .\" Copyright (C) 2010, 2019 Sergey A. Osokin |
5000 | 3 .\" Copyright (C) Nginx, Inc. |
3788 | 4 .\" All rights reserved. |
5 .\" | |
6 .\" Redistribution and use in source and binary forms, with or without | |
7 .\" modification, are permitted provided that the following conditions | |
8 .\" are met: | |
9 .\" 1. Redistributions of source code must retain the above copyright | |
10 .\" notice, this list of conditions and the following disclaimer. | |
11 .\" 2. Redistributions in binary form must reproduce the above copyright | |
12 .\" notice, this list of conditions and the following disclaimer in the | |
13 .\" documentation and/or other materials provided with the distribution. | |
14 .\" | |
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | |
16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
18 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | |
19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
25 .\" SUCH DAMAGE. | |
26 .\" | |
27 .\" | |
7608
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
28 .Dd December 5, 2019 |
3788 | 29 .Dt NGINX 8 |
30 .Os | |
31 .Sh NAME | |
32 .Nm nginx | |
33 .Nd "HTTP and reverse proxy server, mail proxy server" | |
34 .Sh SYNOPSIS | |
35 .Nm | |
6188
f08e80409dfd
Documentation: added -T option description to the man page.
Vladimir Homutov <vl@nginx.com>
parents:
5000
diff
changeset
|
36 .Op Fl ?hqTtVv |
3788 | 37 .Op Fl c Ar file |
38 .Op Fl g Ar directives | |
39 .Op Fl p Ar prefix | |
40 .Op Fl s Ar signal | |
41 .Sh DESCRIPTION | |
42 .Nm | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
43 (pronounced |
3788 | 44 .Dq engine x ) |
7608
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
45 is an HTTP and reverse proxy server, a mail proxy server, and a generic |
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
46 TCP/UDP proxy server. |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
47 It is known for its high performance, stability, rich feature set, simple |
3788 | 48 configuration, and low resource consumption. |
49 .Pp | |
50 The options are as follows: | |
51 .Bl -tag -width ".Fl d Ar directives" | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
52 .It Fl ?\& , h |
3788 | 53 Print help. |
54 .It Fl c Ar file | |
55 Use an alternative configuration | |
56 .Ar file . | |
57 .It Fl g Ar directives | |
58 Set global configuration directives. | |
59 See | |
60 .Sx EXAMPLES | |
61 for details. | |
62 .It Fl p Ar prefix | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
63 Set the prefix path. |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
64 The default value is |
3788 | 65 .Pa %%PREFIX%% . |
66 .It Fl q | |
67 Suppress non-error messages during configuration testing. | |
68 .It Fl s Ar signal | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
69 Send a signal to the master process. |
3788 | 70 The argument |
71 .Ar signal | |
72 can be one of: | |
73 .Cm stop , quit , reopen , reload . | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
74 The following table shows the corresponding system signals: |
3788 | 75 .Pp |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
76 .Bl -tag -width ".Cm reopen" -compact |
3788 | 77 .It Cm stop |
78 .Dv SIGTERM | |
79 .It Cm quit | |
80 .Dv SIGQUIT | |
81 .It Cm reopen | |
82 .Dv SIGUSR1 | |
83 .It Cm reload | |
84 .Dv SIGHUP | |
85 .El | |
7608
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
86 .It Fl T |
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
87 Same as |
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
88 .Fl t , |
4718a646187a
Update manpage, sort command line options.
Sergey A. Osokin <osa@FreeBSD.org.ru>
parents:
6189
diff
changeset
|
89 but additionally dump configuration files to standard output. |
3788 | 90 .It Fl t |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
91 Do not run, just test the configuration file. |
3788 | 92 .Nm |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
93 checks the configuration file syntax and then tries to open files |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
94 referenced in the configuration file. |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
95 .It Fl V |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
96 Print the |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
97 .Nm |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
98 version, compiler version, and |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
99 .Pa configure |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
100 script parameters. |
3788 | 101 .It Fl v |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
102 Print the |
3788 | 103 .Nm |
104 version. | |
105 .El | |
106 .Sh SIGNALS | |
107 The master process of | |
108 .Nm | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
109 can handle the following signals: |
3788 | 110 .Pp |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
111 .Bl -tag -width ".Dv SIGINT , SIGTERM" -compact |
3788 | 112 .It Dv SIGINT , SIGTERM |
113 Shut down quickly. | |
114 .It Dv SIGHUP | |
115 Reload configuration, start the new worker process with a new | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
116 configuration, and gracefully shut down old worker processes. |
3788 | 117 .It Dv SIGQUIT |
118 Shut down gracefully. | |
119 .It Dv SIGUSR1 | |
120 Reopen log files. | |
121 .It Dv SIGUSR2 | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
122 Upgrade the |
3788 | 123 .Nm |
124 executable on the fly. | |
125 .It Dv SIGWINCH | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
126 Shut down worker processes gracefully. |
3788 | 127 .El |
128 .Pp | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
129 While there is no need to explicitly control worker processes normally, |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
130 they support some signals too: |
3788 | 131 .Pp |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
132 .Bl -tag -width ".Dv SIGINT , SIGTERM" -compact |
3788 | 133 .It Dv SIGTERM |
134 Shut down quickly. | |
135 .It Dv SIGQUIT | |
136 Shut down gracefully. | |
137 .It Dv SIGUSR1 | |
138 Reopen log files. | |
139 .El | |
140 .Sh DEBUGGING LOG | |
141 To enable a debugging log, reconfigure | |
142 .Nm | |
143 to build with debugging: | |
144 .Pp | |
145 .Dl "./configure --with-debug ..." | |
146 .Pp | |
147 and then set the | |
148 .Cm debug | |
149 level of the | |
150 .Va error_log : | |
151 .Pp | |
152 .Dl "error_log /path/to/log debug;" | |
153 .Pp | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
154 It is also possible to enable the debugging for a particular IP address: |
3788 | 155 .Bd -literal -offset indent |
156 events { | |
157 debug_connection 127.0.0.1; | |
158 } | |
159 .Ed | |
4525
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
160 .Sh ENVIRONMENT |
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
161 The |
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
162 .Ev NGINX |
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
163 environment variable is used internally by |
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
164 .Nm |
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
165 and should not be set directly by the user. |
3788 | 166 .Sh FILES |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
167 .Bl -tag -width indent |
3788 | 168 .It Pa %%PID_PATH%% |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
169 Contains the process ID of |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
170 .Nm . |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
171 The contents of this file are not sensitive, so it can be world-readable. |
3788 | 172 .It Pa %%CONF_PATH%% |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
173 The main configuration file. |
3788 | 174 .It Pa %%ERROR_LOG_PATH%% |
175 Error log file. | |
176 .El | |
177 .Sh EXIT STATUS | |
178 Exit status is 0 on success, or 1 if the command fails. | |
179 .Sh EXAMPLES | |
180 Test configuration file | |
181 .Pa ~/mynginx.conf | |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
182 with global directives for PID and quantity of worker processes: |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
183 .Bd -literal -offset indent |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
184 nginx -t -c ~/mynginx.conf \e |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
185 -g "pid /var/run/mynginx.pid; worker_processes 2;" |
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
186 .Ed |
3788 | 187 .Sh SEE ALSO |
4001
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
188 .\"Xr nginx.conf 5 |
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
189 .\"Pp |
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
190 Documentation at |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
191 .Pa http://nginx.org/en/docs/ . |
4001
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
192 .Pp |
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
193 For questions and technical support, please refer to |
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
194 .Pa http://nginx.org/en/support.html . |
3788 | 195 .Sh HISTORY |
196 Development of | |
197 .Nm | |
3800 | 198 started in 2002, with the first public release on October 4, 2004. |
3788 | 199 .Sh AUTHORS |
4001
6df31b324bbf
- Replaced explicit link to bugtracker with a support link
Ruslan Ermilov <ru@nginx.com>
parents:
4000
diff
changeset
|
200 .An -nosplit |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
201 .An Igor Sysoev Aq igor@sysoev.ru . |
3788 | 202 .Pp |
4525
3ac1c784be40
Mentioned the NGINX environment variable.
Ruslan Ermilov <ru@nginx.com>
parents:
4523
diff
changeset
|
203 This manual page was originally written by |
3788 | 204 .An Sergey A. Osokin Aq osa@FreeBSD.org.ru |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
205 as a result of compiling many |
3788 | 206 .Nm |
4523
731c71ef051b
- Applied some of the OpenBSD changes.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
207 documents from all over the world. |