Update man pages
This commit is contained in:
parent
cbd878bbd5
commit
18d42b411b
54
doc/h2load.1
54
doc/h2load.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "H2LOAD" "1" "January 11, 2015" "0.7.1" "nghttp2"
|
.TH "H2LOAD" "1" "January 16, 2015" "0.7.2-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
h2load \- HTTP/2 benchmarking tool
|
h2load \- HTTP/2 benchmarking tool
|
||||||
.
|
.
|
||||||
|
@ -39,13 +39,12 @@ benchmarking tool for HTTP/2 and SPDY server
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <URI>
|
.B <URI>
|
||||||
Specify URI to access. Multiple URIs can be
|
Specify URI to access. Multiple URIs can be specified.
|
||||||
specified. URIs are used in this order for each
|
URIs are used in this order for each client. All URIs
|
||||||
client. All URIs are used, then first URI is
|
are used, then first URI is used and then 2nd URI, and
|
||||||
used and then 2nd URI, and so on. The scheme,
|
so on. The scheme, host and port in the subsequent
|
||||||
host and port in the subsequent URIs, if present,
|
URIs, if present, are ignored. Those in the first URI
|
||||||
are ignored. Those in the first URI are used
|
are used solely.
|
||||||
solely.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SH OPTIONS:
|
.SH OPTIONS:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -72,38 +71,36 @@ Default: \fB1\fP
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-i, \-\-input\-file=<FILE>
|
.B \-i, \-\-input\-file=<FILE>
|
||||||
Path of a file with multiple URIs are seperated
|
Path of a file with multiple URIs are seperated by EOLs.
|
||||||
by EOLs. This option will disable URIs getting
|
This option will disable URIs getting from command\-line.
|
||||||
from command\-line. If \(aq\-\(aq is given as <FILE>,
|
If \(aq\-\(aq is given as <FILE>, URIs will be read from stdin.
|
||||||
URIs will be read from stdin. URIs are used in
|
URIs are used in this order for each client. All URIs
|
||||||
this order for each client. All URIs are used,
|
are used, then first URI is used and then 2nd URI, and
|
||||||
then first URI is used and then 2nd URI, and so
|
so on. The scheme, host and port in the subsequent
|
||||||
on. The scheme, host and port in the subsequent
|
URIs, if present, are ignored. Those in the first URI
|
||||||
URIs, if present, are ignored. Those in the
|
are used solely.
|
||||||
first URI are used solely.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-m, \-\-max\-concurrent\-streams=(auto|<N>)
|
.B \-m, \-\-max\-concurrent\-streams=(auto|<N>)
|
||||||
Max concurrent streams to issue per session. If
|
Max concurrent streams to issue per session. If "auto"
|
||||||
"auto" is given, the number of given URIs is
|
is given, the number of given URIs is used.
|
||||||
used.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fBauto\fP
|
Default: \fBauto\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-w, \-\-window\-bits=<N>
|
.B \-w, \-\-window\-bits=<N>
|
||||||
Sets the stream level initial window size to
|
Sets the stream level initial window size to (2**<N>)\-1.
|
||||||
(2**<N>)\-1. For SPDY, 2**<N> is used instead.
|
For SPDY, 2**<N> is used instead.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-W, \-\-connection\-window\-bits=<N>
|
.B \-W, \-\-connection\-window\-bits=<N>
|
||||||
Sets the connection level initial window size to
|
Sets the connection level initial window size to
|
||||||
(2**<N>)\-1. For SPDY, if <N> is strictly less
|
(2**<N>)\-1. For SPDY, if <N> is strictly less than 16,
|
||||||
than 16, this option is ignored. Otherwise
|
this option is ignored. Otherwise 2**<N> is used for
|
||||||
2**<N> is used for SPDY.
|
SPDY.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -113,10 +110,9 @@ Add/Override a header to the requests.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-p, \-\-no\-tls\-proto=<PROTOID>
|
.B \-p, \-\-no\-tls\-proto=<PROTOID>
|
||||||
Specify ALPN identifier of the protocol to be
|
Specify ALPN identifier of the protocol to be used when
|
||||||
used when accessing http URI without SSL/TLS.
|
accessing http URI without SSL/TLS.
|
||||||
Available protocols: spdy/2, spdy/3, spdy/3.1 and
|
Available protocols: spdy/2, spdy/3, spdy/3.1 and h2c\-14
|
||||||
h2c\-14
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fBh2c\-14\fP
|
Default: \fBh2c\-14\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
|
|
@ -14,13 +14,12 @@ benchmarking tool for HTTP/2 and SPDY server
|
||||||
|
|
||||||
.. describe:: <URI>
|
.. describe:: <URI>
|
||||||
|
|
||||||
Specify URI to access. Multiple URIs can be
|
Specify URI to access. Multiple URIs can be specified.
|
||||||
specified. URIs are used in this order for each
|
URIs are used in this order for each client. All URIs
|
||||||
client. All URIs are used, then first URI is
|
are used, then first URI is used and then 2nd URI, and
|
||||||
used and then 2nd URI, and so on. The scheme,
|
so on. The scheme, host and port in the subsequent
|
||||||
host and port in the subsequent URIs, if present,
|
URIs, if present, are ignored. Those in the first URI
|
||||||
are ignored. Those in the first URI are used
|
are used solely.
|
||||||
solely.
|
|
||||||
|
|
||||||
OPTIONS:
|
OPTIONS:
|
||||||
--------
|
--------
|
||||||
|
@ -45,35 +44,33 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: -i, --input-file=<FILE>
|
.. option:: -i, --input-file=<FILE>
|
||||||
|
|
||||||
Path of a file with multiple URIs are seperated
|
Path of a file with multiple URIs are seperated by EOLs.
|
||||||
by EOLs. This option will disable URIs getting
|
This option will disable URIs getting from command-line.
|
||||||
from command-line. If '-' is given as <FILE>,
|
If '-' is given as <FILE>, URIs will be read from stdin.
|
||||||
URIs will be read from stdin. URIs are used in
|
URIs are used in this order for each client. All URIs
|
||||||
this order for each client. All URIs are used,
|
are used, then first URI is used and then 2nd URI, and
|
||||||
then first URI is used and then 2nd URI, and so
|
so on. The scheme, host and port in the subsequent
|
||||||
on. The scheme, host and port in the subsequent
|
URIs, if present, are ignored. Those in the first URI
|
||||||
URIs, if present, are ignored. Those in the
|
are used solely.
|
||||||
first URI are used solely.
|
|
||||||
|
|
||||||
.. option:: -m, --max-concurrent-streams=(auto|<N>)
|
.. option:: -m, --max-concurrent-streams=(auto|<N>)
|
||||||
|
|
||||||
Max concurrent streams to issue per session. If
|
Max concurrent streams to issue per session. If "auto"
|
||||||
"auto" is given, the number of given URIs is
|
is given, the number of given URIs is used.
|
||||||
used.
|
|
||||||
|
|
||||||
Default: ``auto``
|
Default: ``auto``
|
||||||
|
|
||||||
.. option:: -w, --window-bits=<N>
|
.. option:: -w, --window-bits=<N>
|
||||||
|
|
||||||
Sets the stream level initial window size to
|
Sets the stream level initial window size to (2\*\*<N>)-1.
|
||||||
(2**<N>)-1. For SPDY, 2\*\*<N> is used instead.
|
For SPDY, 2**<N> is used instead.
|
||||||
|
|
||||||
.. option:: -W, --connection-window-bits=<N>
|
.. option:: -W, --connection-window-bits=<N>
|
||||||
|
|
||||||
Sets the connection level initial window size to
|
Sets the connection level initial window size to
|
||||||
(2**<N>)-1. For SPDY, if <N> is strictly less
|
(2**<N>)-1. For SPDY, if <N> is strictly less than 16,
|
||||||
than 16, this option is ignored. Otherwise
|
this option is ignored. Otherwise 2\*\*<N> is used for
|
||||||
2**<N> is used for SPDY.
|
SPDY.
|
||||||
|
|
||||||
.. option:: -H, --header=<HEADER>
|
.. option:: -H, --header=<HEADER>
|
||||||
|
|
||||||
|
@ -81,10 +78,9 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: -p, --no-tls-proto=<PROTOID>
|
.. option:: -p, --no-tls-proto=<PROTOID>
|
||||||
|
|
||||||
Specify ALPN identifier of the protocol to be
|
Specify ALPN identifier of the protocol to be used when
|
||||||
used when accessing http URI without SSL/TLS.
|
accessing http URI without SSL/TLS.
|
||||||
Available protocols: spdy/2, spdy/3, spdy/3.1 and
|
Available protocols: spdy/2, spdy/3, spdy/3.1 and h2c-14
|
||||||
h2c-14
|
|
||||||
|
|
||||||
Default: ``h2c-14``
|
Default: ``h2c-14``
|
||||||
|
|
||||||
|
|
92
doc/nghttp.1
92
doc/nghttp.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTP" "1" "January 11, 2015" "0.7.1" "nghttp2"
|
.TH "NGHTTP" "1" "January 16, 2015" "0.7.2-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttp \- HTTP/2 experimental client
|
nghttp \- HTTP/2 experimental client
|
||||||
.
|
.
|
||||||
|
@ -46,9 +46,8 @@ Specify URI to access.
|
||||||
.TP
|
.TP
|
||||||
.B \-v, \-\-verbose
|
.B \-v, \-\-verbose
|
||||||
Print debug information such as reception and
|
Print debug information such as reception and
|
||||||
transmission of frames and name/value pairs.
|
transmission of frames and name/value pairs. Specifying
|
||||||
Specifying this option multiple times increases
|
this option multiple times increases verbosity.
|
||||||
verbosity.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -59,20 +58,19 @@ Discard downloaded data.
|
||||||
.TP
|
.TP
|
||||||
.B \-O, \-\-remote\-name
|
.B \-O, \-\-remote\-name
|
||||||
Save download data in the current directory. The
|
Save download data in the current directory. The
|
||||||
filename is dereived from URI. If URI ends with
|
filename is dereived from URI. If URI ends with \(aq\fI/\fP\(aq,
|
||||||
\(aq\fI/\fP\(aq, \(aqindex.html\(aq is used as a filename. Not
|
\(aqindex.html\(aq is used as a filename. Not implemented
|
||||||
implemented yet.
|
yet.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-t, \-\-timeout=<N>
|
.B \-t, \-\-timeout=<SEC>
|
||||||
Timeout each request after <N> seconds.
|
Timeout each request after <SEC> seconds.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-w, \-\-window\-bits=<N>
|
.B \-w, \-\-window\-bits=<N>
|
||||||
Sets the stream level initial window size to
|
Sets the stream level initial window size to 2**<N>\-1.
|
||||||
2**<N>\-1.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -83,14 +81,13 @@ Sets the connection level initial window size to
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-a, \-\-get\-assets
|
.B \-a, \-\-get\-assets
|
||||||
Download assets such as stylesheets, images and
|
Download assets such as stylesheets, images and script
|
||||||
script files linked from the downloaded resource.
|
files linked from the downloaded resource. Only links
|
||||||
Only links whose origins are the same with the
|
whose origins are the same with the linking resource
|
||||||
linking resource will be downloaded. nghttp
|
will be downloaded. nghttp prioritizes resources using
|
||||||
prioritizes resources using HTTP/2 dependency
|
HTTP/2 dependency based priority. The priority order,
|
||||||
based priority. The priority order, from highest
|
from highest to lowest, is html itself, css, javascript
|
||||||
to lowest, is html itself, css, javascript and
|
and images.
|
||||||
images.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -100,74 +97,70 @@ Print statistics.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-H, \-\-header=<HEADER>
|
.B \-H, \-\-header=<HEADER>
|
||||||
Add a header to the requests. Example:
|
Add a header to the requests. Example: \fI\%\-H\fP\(aq:method: PUT\(aq
|
||||||
\fI\%\-H\fP\(aq:method: PUT\(aq
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-cert=<CERT>
|
.B \-\-cert=<CERT>
|
||||||
Use the specified client certificate file. The
|
Use the specified client certificate file. The file
|
||||||
file must be in PEM format.
|
must be in PEM format.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-key=<KEY>
|
.B \-\-key=<KEY>
|
||||||
Use the client private key file. The file must
|
Use the client private key file. The file must be in
|
||||||
be in PEM format.
|
PEM format.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-d, \-\-data=<FILE>
|
.B \-d, \-\-data=<FILE>
|
||||||
Post FILE to server. If \(aq\-\(aq is given, data will
|
Post FILE to server. If \(aq\-\(aq is given, data will be read
|
||||||
be read from stdin.
|
from stdin.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-m, \-\-multiply=<N>
|
.B \-m, \-\-multiply=<N>
|
||||||
Request each URI <N> times. By default, same URI
|
Request each URI <N> times. By default, same URI is not
|
||||||
is not requested twice. This option disables it
|
requested twice. This option disables it too.
|
||||||
too.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-u, \-\-upgrade
|
.B \-u, \-\-upgrade
|
||||||
Perform HTTP Upgrade for HTTP/2. This option is
|
Perform HTTP Upgrade for HTTP/2. This option is ignored
|
||||||
ignored if the request URI has https scheme. If
|
if the request URI has https scheme. If \fI\-d\fP is used, the
|
||||||
\fI\-d\fP is used, the HTTP upgrade request is performed
|
HTTP upgrade request is performed with OPTIONS method.
|
||||||
with OPTIONS method.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-p, \-\-weight=<WEIGHT>
|
.B \-p, \-\-weight=<WEIGHT>
|
||||||
Sets priority group weight. The valid value
|
Sets priority group weight. The valid value range is
|
||||||
range is [1, 256], inclusive.
|
[1, 256], inclusive.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB16\fP
|
Default: \fB16\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-M, \-\-peer\-max\-concurrent\-streams=<N>
|
.B \-M, \-\-peer\-max\-concurrent\-streams=<N>
|
||||||
Use <N> as SETTINGS_MAX_CONCURRENT_STREAMS value
|
Use <N> as SETTINGS_MAX_CONCURRENT_STREAMS value of
|
||||||
of remote endpoint as if it is received in
|
remote endpoint as if it is received in SETTINGS frame.
|
||||||
SETTINGS frame. The default is large enough as
|
The default is large enough as it is seen as unlimited.
|
||||||
it is seen as unlimited.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-c, \-\-header\-table\-size=<N>
|
.B \-c, \-\-header\-table\-size=<SIZE>
|
||||||
Specify decoder header table size.
|
Specify decoder header table size.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-b, \-\-padding=<N>
|
.B \-b, \-\-padding=<N>
|
||||||
Add at most <N> bytes to a frame payload as
|
Add at most <N> bytes to a frame payload as padding.
|
||||||
padding. Specify 0 to disable padding.
|
Specify 0 to disable padding.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-r, \-\-har=<FILE>
|
.B \-r, \-\-har=<FILE>
|
||||||
Output HTTP transactions <FILE> in HAR format.
|
Output HTTP transactions <FILE> in HAR format. If \(aq\-\(aq
|
||||||
If \(aq\-\(aq is given, data is written to stdout.
|
is given, data is written to stdout.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -187,14 +180,12 @@ Don\(aqt send content\-length header field.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-no\-dep
|
.B \-\-no\-dep
|
||||||
Don\(aqt send dependency based priority hint to
|
Don\(aqt send dependency based priority hint to server.
|
||||||
server.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-dep\-idle
|
.B \-\-dep\-idle
|
||||||
Use idle streams as anchor nodes to express
|
Use idle streams as anchor nodes to express priority.
|
||||||
priority.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -206,6 +197,9 @@ Display version information and exit.
|
||||||
.B \-h, \-\-help
|
.B \-h, \-\-help
|
||||||
Display this help and exit.
|
Display this help and exit.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.sp
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.sp
|
.sp
|
||||||
\fInghttpd(1)\fP, \fInghttpx(1)\fP, \fIh2load(1)\fP
|
\fInghttpd(1)\fP, \fInghttpx(1)\fP, \fIh2load(1)\fP
|
||||||
|
|
|
@ -22,9 +22,8 @@ OPTIONS:
|
||||||
.. option:: -v, --verbose
|
.. option:: -v, --verbose
|
||||||
|
|
||||||
Print debug information such as reception and
|
Print debug information such as reception and
|
||||||
transmission of frames and name/value pairs.
|
transmission of frames and name/value pairs. Specifying
|
||||||
Specifying this option multiple times increases
|
this option multiple times increases verbosity.
|
||||||
verbosity.
|
|
||||||
|
|
||||||
.. option:: -n, --null-out
|
.. option:: -n, --null-out
|
||||||
|
|
||||||
|
@ -33,18 +32,17 @@ OPTIONS:
|
||||||
.. option:: -O, --remote-name
|
.. option:: -O, --remote-name
|
||||||
|
|
||||||
Save download data in the current directory. The
|
Save download data in the current directory. The
|
||||||
filename is dereived from URI. If URI ends with
|
filename is dereived from URI. If URI ends with '*/*',
|
||||||
'*/*', 'index.html' is used as a filename. Not
|
'index.html' is used as a filename. Not implemented
|
||||||
implemented yet.
|
yet.
|
||||||
|
|
||||||
.. option:: -t, --timeout=<N>
|
.. option:: -t, --timeout=<SEC>
|
||||||
|
|
||||||
Timeout each request after <N> seconds.
|
Timeout each request after <SEC> seconds.
|
||||||
|
|
||||||
.. option:: -w, --window-bits=<N>
|
.. option:: -w, --window-bits=<N>
|
||||||
|
|
||||||
Sets the stream level initial window size to
|
Sets the stream level initial window size to 2\*\*<N>-1.
|
||||||
2\*\*<N>-1.
|
|
||||||
|
|
||||||
.. option:: -W, --connection-window-bits=<N>
|
.. option:: -W, --connection-window-bits=<N>
|
||||||
|
|
||||||
|
@ -53,14 +51,13 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: -a, --get-assets
|
.. option:: -a, --get-assets
|
||||||
|
|
||||||
Download assets such as stylesheets, images and
|
Download assets such as stylesheets, images and script
|
||||||
script files linked from the downloaded resource.
|
files linked from the downloaded resource. Only links
|
||||||
Only links whose origins are the same with the
|
whose origins are the same with the linking resource
|
||||||
linking resource will be downloaded. nghttp
|
will be downloaded. nghttp prioritizes resources using
|
||||||
prioritizes resources using HTTP/2 dependency
|
HTTP/2 dependency based priority. The priority order,
|
||||||
based priority. The priority order, from highest
|
from highest to lowest, is html itself, css, javascript
|
||||||
to lowest, is html itself, css, javascript and
|
and images.
|
||||||
images.
|
|
||||||
|
|
||||||
.. option:: -s, --stat
|
.. option:: -s, --stat
|
||||||
|
|
||||||
|
@ -68,64 +65,60 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: -H, --header=<HEADER>
|
.. option:: -H, --header=<HEADER>
|
||||||
|
|
||||||
Add a header to the requests. Example:
|
Add a header to the requests. Example: :option:`-H`\':method: PUT'
|
||||||
:option:`-H`\':method: PUT'
|
|
||||||
|
|
||||||
.. option:: --cert=<CERT>
|
.. option:: --cert=<CERT>
|
||||||
|
|
||||||
Use the specified client certificate file. The
|
Use the specified client certificate file. The file
|
||||||
file must be in PEM format.
|
must be in PEM format.
|
||||||
|
|
||||||
.. option:: --key=<KEY>
|
.. option:: --key=<KEY>
|
||||||
|
|
||||||
Use the client private key file. The file must
|
Use the client private key file. The file must be in
|
||||||
be in PEM format.
|
PEM format.
|
||||||
|
|
||||||
.. option:: -d, --data=<FILE>
|
.. option:: -d, --data=<FILE>
|
||||||
|
|
||||||
Post FILE to server. If '-' is given, data will
|
Post FILE to server. If '-' is given, data will be read
|
||||||
be read from stdin.
|
from stdin.
|
||||||
|
|
||||||
.. option:: -m, --multiply=<N>
|
.. option:: -m, --multiply=<N>
|
||||||
|
|
||||||
Request each URI <N> times. By default, same URI
|
Request each URI <N> times. By default, same URI is not
|
||||||
is not requested twice. This option disables it
|
requested twice. This option disables it too.
|
||||||
too.
|
|
||||||
|
|
||||||
.. option:: -u, --upgrade
|
.. option:: -u, --upgrade
|
||||||
|
|
||||||
Perform HTTP Upgrade for HTTP/2. This option is
|
Perform HTTP Upgrade for HTTP/2. This option is ignored
|
||||||
ignored if the request URI has https scheme. If
|
if the request URI has https scheme. If :option:`-d` is used, the
|
||||||
:option:`-d` is used, the HTTP upgrade request is performed
|
HTTP upgrade request is performed with OPTIONS method.
|
||||||
with OPTIONS method.
|
|
||||||
|
|
||||||
.. option:: -p, --weight=<WEIGHT>
|
.. option:: -p, --weight=<WEIGHT>
|
||||||
|
|
||||||
Sets priority group weight. The valid value
|
Sets priority group weight. The valid value range is
|
||||||
range is [1, 256], inclusive.
|
[1, 256], inclusive.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``16``
|
||||||
|
|
||||||
.. option:: -M, --peer-max-concurrent-streams=<N>
|
.. option:: -M, --peer-max-concurrent-streams=<N>
|
||||||
|
|
||||||
Use <N> as SETTINGS_MAX_CONCURRENT_STREAMS value
|
Use <N> as SETTINGS_MAX_CONCURRENT_STREAMS value of
|
||||||
of remote endpoint as if it is received in
|
remote endpoint as if it is received in SETTINGS frame.
|
||||||
SETTINGS frame. The default is large enough as
|
The default is large enough as it is seen as unlimited.
|
||||||
it is seen as unlimited.
|
|
||||||
|
|
||||||
.. option:: -c, --header-table-size=<N>
|
.. option:: -c, --header-table-size=<SIZE>
|
||||||
|
|
||||||
Specify decoder header table size.
|
Specify decoder header table size.
|
||||||
|
|
||||||
.. option:: -b, --padding=<N>
|
.. option:: -b, --padding=<N>
|
||||||
|
|
||||||
Add at most <N> bytes to a frame payload as
|
Add at most <N> bytes to a frame payload as padding.
|
||||||
padding. Specify 0 to disable padding.
|
Specify 0 to disable padding.
|
||||||
|
|
||||||
.. option:: -r, --har=<FILE>
|
.. option:: -r, --har=<FILE>
|
||||||
|
|
||||||
Output HTTP transactions <FILE> in HAR format.
|
Output HTTP transactions <FILE> in HAR format. If '-'
|
||||||
If '-' is given, data is written to stdout.
|
is given, data is written to stdout.
|
||||||
|
|
||||||
.. option:: --color
|
.. option:: --color
|
||||||
|
|
||||||
|
@ -141,13 +134,11 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: --no-dep
|
.. option:: --no-dep
|
||||||
|
|
||||||
Don't send dependency based priority hint to
|
Don't send dependency based priority hint to server.
|
||||||
server.
|
|
||||||
|
|
||||||
.. option:: --dep-idle
|
.. option:: --dep-idle
|
||||||
|
|
||||||
Use idle streams as anchor nodes to express
|
Use idle streams as anchor nodes to express priority.
|
||||||
priority.
|
|
||||||
|
|
||||||
.. option:: --version
|
.. option:: --version
|
||||||
|
|
||||||
|
@ -157,6 +148,10 @@ OPTIONS:
|
||||||
|
|
||||||
Display this help and exit.
|
Display this help and exit.
|
||||||
|
|
||||||
|
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTPD" "1" "January 11, 2015" "0.7.1" "nghttp2"
|
.TH "NGHTTPD" "1" "January 16, 2015" "0.7.2-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttpd \- HTTP/2 experimental server
|
nghttpd \- HTTP/2 experimental server
|
||||||
.
|
.
|
||||||
|
@ -44,45 +44,42 @@ Specify listening port number.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <PRIVATE_KEY>
|
.B <PRIVATE_KEY>
|
||||||
Set path to server\(aqs private key. Required
|
Set path to server\(aqs private key. Required unless
|
||||||
unless \fI\%\-\-no\-tls\fP is specified.
|
\fI\%\-\-no\-tls\fP is specified.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <CERT>
|
.B <CERT>
|
||||||
Set path to server\(aqs certificate. Required
|
Set path to server\(aqs certificate. Required unless
|
||||||
unless \fI\%\-\-no\-tls\fP is specified.
|
\fI\%\-\-no\-tls\fP is specified.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SH OPTIONS:
|
.SH OPTIONS:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-D, \-\-daemon
|
.B \-D, \-\-daemon
|
||||||
Run in a background. If \fI\-D\fP is used, the current
|
Run in a background. If \fI\-D\fP is used, the current working
|
||||||
working directory is changed to \(aq\fI/\fP\(aq. Therefore
|
directory is changed to \(aq\fI/\fP\(aq. Therefore if this option
|
||||||
if this option is used, \fI\%\-d\fP option must be
|
is used, \fI\%\-d\fP option must be specified.
|
||||||
specified.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-V, \-\-verify\-client
|
.B \-V, \-\-verify\-client
|
||||||
The server sends a client certificate request.
|
The server sends a client certificate request. If the
|
||||||
If the client did not return a certificate, the
|
client did not return a certificate, the handshake is
|
||||||
handshake is terminated. Currently, this option
|
terminated. Currently, this option just requests a
|
||||||
just requests a client certificate and does not
|
client certificate and does not verify it.
|
||||||
verify it.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-d, \-\-htdocs=<PATH>
|
.B \-d, \-\-htdocs=<PATH>
|
||||||
Specify document root. If this option is not
|
Specify document root. If this option is not specified,
|
||||||
specified, the document root is the current
|
the document root is the current working directory.
|
||||||
working directory.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-v, \-\-verbose
|
.B \-v, \-\-verbose
|
||||||
Print debug information such as reception/
|
Print debug information such as reception/ transmission
|
||||||
transmission of frames and name/value pairs.
|
of frames and name/value pairs.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -91,7 +88,7 @@ Disable SSL/TLS.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-c, \-\-header\-table\-size=<N>
|
.B \-c, \-\-header\-table\-size=<SIZE>
|
||||||
Specify decoder header table size.
|
Specify decoder header table size.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -102,22 +99,21 @@ Force colored log output.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-p, \-\-push=<PATH>=<PUSH_PATH,...>
|
.B \-p, \-\-push=<PATH>=<PUSH_PATH,...>
|
||||||
Push resources <PUSH_PATH>s when <PATH> is
|
Push resources <PUSH_PATH>s when <PATH> is requested.
|
||||||
requested. This option can be used repeatedly to
|
This option can be used repeatedly to specify multiple
|
||||||
specify multiple push configurations. <PATH> and
|
push configurations. <PATH> and <PUSH_PATH>s are
|
||||||
<PUSH_PATH>s are relative to document root. See
|
relative to document root. See \fI\%\-\-htdocs\fP option.
|
||||||
\fI\%\-\-htdocs\fP option. Example: \fI\-p\fP/=/foo.png
|
Example: \fI\-p\fP/=/foo.png \fI\-p\fP/doc=/bar.css
|
||||||
\fI\-p\fP/doc=/bar.css
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-b, \-\-padding=<N>
|
.B \-b, \-\-padding=<N>
|
||||||
Add at most <N> bytes to a frame payload as
|
Add at most <N> bytes to a frame payload as padding.
|
||||||
padding. Specify 0 to disable padding.
|
Specify 0 to disable padding.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-n, \-\-workers=<CORE>
|
.B \-n, \-\-workers=<N>
|
||||||
Set the number of worker threads.
|
Set the number of worker threads.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB1\fP
|
Default: \fB1\fP
|
||||||
|
@ -130,16 +126,15 @@ Make error response gzipped.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-dh\-param\-file=<PATH>
|
.B \-\-dh\-param\-file=<PATH>
|
||||||
Path to file that contains DH parameters in PEM
|
Path to file that contains DH parameters in PEM format.
|
||||||
format. Without this option, DHE cipher suites
|
Without this option, DHE cipher suites are not
|
||||||
are not available.
|
available.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-early\-response
|
.B \-\-early\-response
|
||||||
Start sending response when request HEADERS is
|
Start sending response when request HEADERS is received,
|
||||||
received, rather than complete request is
|
rather than complete request is received.
|
||||||
received.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -151,6 +146,9 @@ Display version information and exit.
|
||||||
.B \-h, \-\-help
|
.B \-h, \-\-help
|
||||||
Display this help and exit.
|
Display this help and exit.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.sp
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.sp
|
.sp
|
||||||
\fInghttp(1)\fP, \fInghttpx(1)\fP, \fIh2load(1)\fP
|
\fInghttp(1)\fP, \fInghttpx(1)\fP, \fIh2load(1)\fP
|
||||||
|
|
|
@ -18,48 +18,46 @@ HTTP/2 experimental server
|
||||||
|
|
||||||
.. describe:: <PRIVATE_KEY>
|
.. describe:: <PRIVATE_KEY>
|
||||||
|
|
||||||
Set path to server's private key. Required
|
|
||||||
unless :option:`--no-tls` is specified.
|
Set path to server's private key. Required unless
|
||||||
|
:option:`--no-tls` is specified.
|
||||||
|
|
||||||
.. describe:: <CERT>
|
.. describe:: <CERT>
|
||||||
|
|
||||||
Set path to server's certificate. Required
|
Set path to server's certificate. Required unless
|
||||||
unless :option:`--no-tls` is specified.
|
:option:`--no-tls` is specified.
|
||||||
|
|
||||||
OPTIONS:
|
OPTIONS:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
.. option:: -D, --daemon
|
.. option:: -D, --daemon
|
||||||
|
|
||||||
Run in a background. If :option:`-D` is used, the current
|
Run in a background. If :option:`-D` is used, the current working
|
||||||
working directory is changed to '*/*'. Therefore
|
directory is changed to '*/*'. Therefore if this option
|
||||||
if this option is used, :option:`-d` option must be
|
is used, :option:`-d` option must be specified.
|
||||||
specified.
|
|
||||||
|
|
||||||
.. option:: -V, --verify-client
|
.. option:: -V, --verify-client
|
||||||
|
|
||||||
The server sends a client certificate request.
|
The server sends a client certificate request. If the
|
||||||
If the client did not return a certificate, the
|
client did not return a certificate, the handshake is
|
||||||
handshake is terminated. Currently, this option
|
terminated. Currently, this option just requests a
|
||||||
just requests a client certificate and does not
|
client certificate and does not verify it.
|
||||||
verify it.
|
|
||||||
|
|
||||||
.. option:: -d, --htdocs=<PATH>
|
.. option:: -d, --htdocs=<PATH>
|
||||||
|
|
||||||
Specify document root. If this option is not
|
Specify document root. If this option is not specified,
|
||||||
specified, the document root is the current
|
the document root is the current working directory.
|
||||||
working directory.
|
|
||||||
|
|
||||||
.. option:: -v, --verbose
|
.. option:: -v, --verbose
|
||||||
|
|
||||||
Print debug information such as reception/
|
Print debug information such as reception/ transmission
|
||||||
transmission of frames and name/value pairs.
|
of frames and name/value pairs.
|
||||||
|
|
||||||
.. option:: --no-tls
|
.. option:: --no-tls
|
||||||
|
|
||||||
Disable SSL/TLS.
|
Disable SSL/TLS.
|
||||||
|
|
||||||
.. option:: -c, --header-table-size=<N>
|
.. option:: -c, --header-table-size=<SIZE>
|
||||||
|
|
||||||
Specify decoder header table size.
|
Specify decoder header table size.
|
||||||
|
|
||||||
|
@ -69,19 +67,18 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: -p, --push=<PATH>=<PUSH_PATH,...>
|
.. option:: -p, --push=<PATH>=<PUSH_PATH,...>
|
||||||
|
|
||||||
Push resources <PUSH_PATH>s when <PATH> is
|
Push resources <PUSH_PATH>s when <PATH> is requested.
|
||||||
requested. This option can be used repeatedly to
|
This option can be used repeatedly to specify multiple
|
||||||
specify multiple push configurations. <PATH> and
|
push configurations. <PATH> and <PUSH_PATH>s are
|
||||||
<PUSH_PATH>s are relative to document root. See
|
relative to document root. See :option:`--htdocs` option.
|
||||||
:option:`--htdocs` option. Example: :option:`\-p`/=/foo.png
|
Example: :option:`-p`\/=/foo.png :option:`-p`\/doc=/bar.css
|
||||||
:option:`-p`\/doc=/bar.css
|
|
||||||
|
|
||||||
.. option:: -b, --padding=<N>
|
.. option:: -b, --padding=<N>
|
||||||
|
|
||||||
Add at most <N> bytes to a frame payload as
|
Add at most <N> bytes to a frame payload as padding.
|
||||||
padding. Specify 0 to disable padding.
|
Specify 0 to disable padding.
|
||||||
|
|
||||||
.. option:: -n, --workers=<CORE>
|
.. option:: -n, --workers=<N>
|
||||||
|
|
||||||
Set the number of worker threads.
|
Set the number of worker threads.
|
||||||
|
|
||||||
|
@ -93,15 +90,14 @@ OPTIONS:
|
||||||
|
|
||||||
.. option:: --dh-param-file=<PATH>
|
.. option:: --dh-param-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains DH parameters in PEM
|
Path to file that contains DH parameters in PEM format.
|
||||||
format. Without this option, DHE cipher suites
|
Without this option, DHE cipher suites are not
|
||||||
are not available.
|
available.
|
||||||
|
|
||||||
.. option:: --early-response
|
.. option:: --early-response
|
||||||
|
|
||||||
Start sending response when request HEADERS is
|
Start sending response when request HEADERS is received,
|
||||||
received, rather than complete request is
|
rather than complete request is received.
|
||||||
received.
|
|
||||||
|
|
||||||
.. option:: --version
|
.. option:: --version
|
||||||
|
|
||||||
|
@ -111,6 +107,10 @@ OPTIONS:
|
||||||
|
|
||||||
Display this help and exit.
|
Display this help and exit.
|
||||||
|
|
||||||
|
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
507
doc/nghttpx.1
507
doc/nghttpx.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTPX" "1" "January 11, 2015" "0.7.1" "nghttp2"
|
.TH "NGHTTPX" "1" "January 16, 2015" "0.7.2-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttpx \- HTTP/2 experimental proxy
|
nghttpx \- HTTP/2 experimental proxy
|
||||||
.
|
.
|
||||||
|
@ -39,16 +39,14 @@ A reverse proxy for HTTP/2, HTTP/1 and SPDY.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <PRIVATE_KEY>
|
.B <PRIVATE_KEY>
|
||||||
Set path to server\(aqs private key. Required
|
Set path to server\(aqs private key. Required unless \fI\%\-p\fP,
|
||||||
unless \fI\%\-p\fP, \fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are
|
\fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are given.
|
||||||
given.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <CERT>
|
.B <CERT>
|
||||||
Set path to server\(aqs certificate. Required
|
Set path to server\(aqs certificate. Required unless \fI\%\-p\fP,
|
||||||
unless \fI\%\-p\fP, \fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are
|
\fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are given.
|
||||||
given.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SH OPTIONS:
|
.SH OPTIONS:
|
||||||
.sp
|
.sp
|
||||||
|
@ -57,11 +55,11 @@ The options are categorized into several groups.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-b, \-\-backend=<HOST,PORT>
|
.B \-b, \-\-backend=<HOST,PORT>
|
||||||
Set backend host and port. For HTTP/1 backend,
|
Set backend host and port. For HTTP/1 backend, multiple
|
||||||
multiple backend addresses are accepted by
|
backend addresses are accepted by repeating this option.
|
||||||
repeating this option. HTTP/2 backend does not
|
HTTP/2 backend does not support multiple backend
|
||||||
support multiple backend addresses and the first
|
addresses and the first occurrence of this option is
|
||||||
occurrence of this option is used.
|
used.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB127.0.0.1,80\fP
|
Default: \fB127.0.0.1,80\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -69,18 +67,16 @@ Default: \fB127.0.0.1,80\fP
|
||||||
.TP
|
.TP
|
||||||
.B \-f, \-\-frontend=<HOST,PORT>
|
.B \-f, \-\-frontend=<HOST,PORT>
|
||||||
Set frontend host and port. If <HOST> is \(aq*\(aq, it
|
Set frontend host and port. If <HOST> is \(aq*\(aq, it
|
||||||
assumes all addresses including both IPv4 and
|
assumes all addresses including both IPv4 and IPv6.
|
||||||
IPv6.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB*,3000\fP
|
Default: \fB*,3000\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backlog=<NUM>
|
.B \-\-backlog=<N>
|
||||||
Set listen backlog size. If \fI\-1\fP is given,
|
Set listen backlog size.
|
||||||
libevent will choose suitable value.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB128\fP
|
Default: \fB512\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -96,144 +92,148 @@ Resolve backend hostname to IPv6 address only.
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-http\-proxy\-uri=<URI>
|
.B \-\-backend\-http\-proxy\-uri=<URI>
|
||||||
Specify proxy URI in the form
|
Specify proxy URI in the form
|
||||||
\fI\%http:/\fP/[<USER>:<PASS>@]<PROXY>:<PORT>. If a
|
\fI\%http:/\fP/[<USER>:<PASS>@]<PROXY>:<PORT>. If a proxy
|
||||||
proxy requires authentication, specify <USER> and
|
requires authentication, specify <USER> and <PASS>.
|
||||||
<PASS>. Note that they must be properly
|
Note that they must be properly percent\-encoded. This
|
||||||
percent\-encoded. This proxy is used when the
|
proxy is used when the backend connection is HTTP/2.
|
||||||
backend connection is HTTP/2. First, make a
|
First, make a CONNECT request to the proxy and it
|
||||||
CONNECT request to the proxy and it connects to
|
connects to the backend on behalf of nghttpx. This
|
||||||
the backend on behalf of nghttpx. This forms
|
forms tunnel. After that, nghttpx performs SSL/TLS
|
||||||
tunnel. After that, nghttpx performs SSL/TLS
|
handshake with the downstream through the tunnel. The
|
||||||
handshake with the downstream through the tunnel.
|
timeouts when connecting and making CONNECT request can
|
||||||
The timeouts when connecting and making CONNECT
|
be specified by \fI\%\-\-backend\-read\-timeout\fP and
|
||||||
request can be specified by
|
|
||||||
\fI\%\-\-backend\-read\-timeout\fP and
|
|
||||||
\fI\%\-\-backend\-write\-timeout\fP options.
|
\fI\%\-\-backend\-write\-timeout\fP options.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Performance:
|
.SS Performance:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-n, \-\-workers=<CORES>
|
.B \-n, \-\-workers=<N>
|
||||||
Set the number of worker threads.
|
Set the number of worker threads.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB1\fP
|
Default: \fB1\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-read\-rate=<RATE>
|
.B \-\-read\-rate=<SIZE>
|
||||||
Set maximum average read rate on frontend
|
Set maximum average read rate on frontend connection.
|
||||||
connection. Setting 0 to this option means read
|
Setting 0 to this option means read rate is unlimited.
|
||||||
rate is unlimited.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-read\-burst=<SIZE>
|
.B \-\-read\-burst=<SIZE>
|
||||||
Set maximum read burst size on frontend
|
Set maximum read burst size on frontend connection.
|
||||||
connection. Setting 0 to this option means read
|
Setting 0 to this option means read burst size is
|
||||||
burst size is unlimited.
|
unlimited.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-write\-rate=<RATE>
|
.B \-\-write\-rate=<SIZE>
|
||||||
Set maximum average write rate on frontend
|
Set maximum average write rate on frontend connection.
|
||||||
connection. Setting 0 to this option means write
|
Setting 0 to this option means write rate is unlimited.
|
||||||
rate is unlimited.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-write\-burst=<SIZE>
|
.B \-\-write\-burst=<SIZE>
|
||||||
Set maximum write burst size on frontend
|
Set maximum write burst size on frontend connection.
|
||||||
connection. Setting 0 to this option means write
|
Setting 0 to this option means write burst size is
|
||||||
burst size is unlimited.
|
unlimited.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-worker\-read\-rate=<RATE>
|
.B \-\-worker\-read\-rate=<SIZE>
|
||||||
Set maximum average read rate on frontend
|
Set maximum average read rate on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means read rate is
|
||||||
means read rate is unlimited. Not implemented
|
unlimited. Not implemented yet.
|
||||||
yet.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-worker\-read\-burst=<SIZE>
|
.B \-\-worker\-read\-burst=<SIZE>
|
||||||
Set maximum read burst size on frontend
|
Set maximum read burst size on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means read burst size
|
||||||
means read burst size is unlimited. Not
|
is unlimited. Not implemented yet.
|
||||||
implemented yet.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-worker\-write\-rate=<RATE>
|
.B \-\-worker\-write\-rate=<SIZE>
|
||||||
Set maximum average write rate on frontend
|
Set maximum average write rate on frontend connection
|
||||||
connection per worker. Setting 0 to this option
|
per worker. Setting 0 to this option means write rate
|
||||||
means write rate is unlimited. Not implemented
|
is unlimited. Not implemented yet.
|
||||||
yet.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-worker\-write\-burst=<SIZE>
|
.B \-\-worker\-write\-burst=<SIZE>
|
||||||
Set maximum write burst size on frontend
|
Set maximum write burst size on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means write burst size
|
||||||
means write burst size is unlimited. Not
|
is unlimited. Not implemented yet.
|
||||||
implemented yet.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-worker\-frontend\-connections=<NUM>
|
.B \-\-worker\-frontend\-connections=<N>
|
||||||
Set maximum number of simultaneous connections
|
Set maximum number of simultaneous connections frontend
|
||||||
frontend accepts. Setting 0 means unlimited.
|
accepts. Setting 0 means unlimited.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-http1\-connections\-per\-host=<NUM>
|
.B \-\-backend\-http1\-connections\-per\-host=<N>
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent HTTP/1
|
||||||
connections per host. This option is meaningful
|
connections per host. This option is meaningful when \fI\%\-s\fP
|
||||||
when \fI\%\-s\fP option is used. To limit the number of
|
option is used. To limit the number of connections per
|
||||||
connections per frontend for default mode, use
|
frontend for default mode, use
|
||||||
\fI\%\-\-backend\-http1\-connections\-per\-frontend\fP\&.
|
\fI\%\-\-backend\-http1\-connections\-per\-frontend\fP\&.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB8\fP
|
Default: \fB8\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-http1\-connections\-per\-frontend=<NUM>
|
.B \-\-backend\-http1\-connections\-per\-frontend=<N>
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent HTTP/1
|
||||||
connections per frontend. This option is only
|
connections per frontend. This option is only used for
|
||||||
used for default mode. 0 means unlimited. To
|
default mode. 0 means unlimited. To limit the number
|
||||||
limit the number of connections per host for
|
of connections per host for HTTP/2 or SPDY proxy mode
|
||||||
HTTP/2 or SPDY proxy mode (\-s option), use
|
(\-s option), use \fI\%\-\-backend\-http1\-connections\-per\-host\fP\&.
|
||||||
\fI\%\-\-backend\-http1\-connections\-per\-host\fP\&.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-rlimit\-nofile=<N>
|
.B \-\-rlimit\-nofile=<N>
|
||||||
Set maximum number of open files (RLIMIT_NOFILE)
|
Set maximum number of open files (RLIMIT_NOFILE) to <N>.
|
||||||
to <N>. If 0 is given, nghttpx does not set the
|
If 0 is given, nghttpx does not set the limit.
|
||||||
limit.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.INDENT 0.0
|
||||||
|
.TP
|
||||||
|
.B \-\-backend\-request\-buffer=<SIZE>
|
||||||
|
Set buffer size used to store backend request.
|
||||||
|
.sp
|
||||||
|
Default: \fB16K\fP
|
||||||
|
.UNINDENT
|
||||||
|
.INDENT 0.0
|
||||||
|
.TP
|
||||||
|
.B \-\-backend\-response\-buffer=<SIZE>
|
||||||
|
Set buffer size used to store backend response.
|
||||||
|
.sp
|
||||||
|
Default: \fB64K\fP
|
||||||
|
.UNINDENT
|
||||||
.SS Timeout:
|
.SS Timeout:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -246,32 +246,30 @@ Default: \fB180\fP
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-read\-timeout=<SEC>
|
.B \-\-frontend\-read\-timeout=<SEC>
|
||||||
Specify read timeout for HTTP/1.1 frontend
|
Specify read timeout for HTTP/1.1 frontend connection.
|
||||||
connection.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB180\fP
|
Default: \fB180\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-write\-timeout=<SEC>
|
.B \-\-frontend\-write\-timeout=<SEC>
|
||||||
Specify write timeout for all frontend
|
Specify write timeout for all frontend connections.
|
||||||
connections.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB30\fP
|
Default: \fB30\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-stream\-read\-timeout=<SEC>
|
.B \-\-stream\-read\-timeout=<SEC>
|
||||||
Specify read timeout for HTTP/2 and SPDY streams.
|
Specify read timeout for HTTP/2 and SPDY streams. 0
|
||||||
0 means no timeout.
|
means no timeout.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-stream\-write\-timeout=<SEC>
|
.B \-\-stream\-write\-timeout=<SEC>
|
||||||
Specify write timeout for HTTP/2 and SPDY
|
Specify write timeout for HTTP/2 and SPDY streams. 0
|
||||||
streams. 0 means no timeout.
|
means no timeout.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -292,17 +290,16 @@ Default: \fB30\fP
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-keep\-alive\-timeout=<SEC>
|
.B \-\-backend\-keep\-alive\-timeout=<SEC>
|
||||||
Specify keep\-alive timeout for backend
|
Specify keep\-alive timeout for backend connection.
|
||||||
connection.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fB600\fP
|
Default: \fB600\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-listener\-disable\-timeout=<SEC>
|
.B \-\-listener\-disable\-timeout=<SEC>
|
||||||
After accepting connection failed, connection
|
After accepting connection failed, connection listener
|
||||||
listener is disabled for a given time in seconds.
|
is disabled for a given time in seconds. Specifying 0
|
||||||
Specifying 0 disables this feature.
|
disables this feature.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -310,8 +307,8 @@ Default: \fB0\fP
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-ciphers=<SUITE>
|
.B \-\-ciphers=<SUITE>
|
||||||
Set allowed cipher list. The format of the
|
Set allowed cipher list. The format of the string is
|
||||||
string is described in OpenSSL ciphers(1).
|
described in OpenSSL ciphers(1).
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -323,54 +320,50 @@ Don\(aqt verify backend server\(aqs certificate if \fI\%\-p\fP,
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-cacert=<PATH>
|
.B \-\-cacert=<PATH>
|
||||||
Set path to trusted CA certificate file if \fI\%\-p\fP,
|
Set path to trusted CA certificate file if \fI\%\-p\fP, \fI\%\-\-client\fP
|
||||||
\fI\%\-\-client\fP or \fI\%\-\-http2\-bridge\fP are given and
|
or \fI\%\-\-http2\-bridge\fP are given and \fI\%\-\-backend\-no\-tls\fP is not
|
||||||
\fI\%\-\-backend\-no\-tls\fP is not given. The file must be
|
given. The file must be in PEM format. It can contain
|
||||||
in PEM format. It can contain multiple
|
multiple certificates. If the linked OpenSSL is
|
||||||
certificates. If the linked OpenSSL is
|
configured to load system wide certificates, they are
|
||||||
configured to load system wide certificates, they
|
loaded at startup regardless of this option.
|
||||||
are loaded at startup regardless of this option.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-private\-key\-passwd\-file=<FILEPATH>
|
.B \-\-private\-key\-passwd\-file=<PATH>
|
||||||
Path to file that contains password for the
|
Path to file that contains password for the server\(aqs
|
||||||
server\(aqs private key. If none is given and the
|
private key. If none is given and the private key is
|
||||||
private key is password protected it\(aqll be
|
password protected it\(aqll be requested interactively.
|
||||||
requested interactively.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-subcert=<KEYPATH>:<CERTPATH>
|
.B \-\-subcert=<KEYPATH>:<CERTPATH>
|
||||||
Specify additional certificate and private key
|
Specify additional certificate and private key file.
|
||||||
file. nghttpx will choose certificates based on
|
nghttpx will choose certificates based on the hostname
|
||||||
the hostname indicated by client using TLS SNI
|
indicated by client using TLS SNI extension. This
|
||||||
extension. This option can be used multiple
|
option can be used multiple times.
|
||||||
times.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-tls\-sni\-field=<HOST>
|
.B \-\-backend\-tls\-sni\-field=<HOST>
|
||||||
Explicitly set the content of the TLS SNI
|
Explicitly set the content of the TLS SNI extension.
|
||||||
extension. This will default to the backend HOST
|
This will default to the backend HOST name.
|
||||||
name.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-dh\-param\-file=<PATH>
|
.B \-\-dh\-param\-file=<PATH>
|
||||||
Path to file that contains DH parameters in PEM
|
Path to file that contains DH parameters in PEM format.
|
||||||
format. Without this option, DHE cipher suites
|
Without this option, DHE cipher suites are not
|
||||||
are not available.
|
available.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-npn\-list=<LIST>
|
.B \-\-npn\-list=<LIST>
|
||||||
Comma delimited list of ALPN protocol identifier
|
Comma delimited list of ALPN protocol identifier sorted
|
||||||
sorted in the order of preference. That means
|
in the order of preference. That means most desirable
|
||||||
most desirable protocol comes first. This is
|
protocol comes first. This is used in both ALPN and
|
||||||
used in both ALPN and NPN. The parameter must be
|
NPN. The parameter must be delimited by a single comma
|
||||||
delimited by a single comma only and any white
|
only and any white spaces are treated as a part of
|
||||||
spaces are treated as a part of protocol string.
|
protocol string.
|
||||||
.sp
|
.sp
|
||||||
Default: \fBh2\-16,h2\-14,spdy/3.1,http/1.1\fP
|
Default: \fBh2\-16,h2\-14,spdy/3.1,http/1.1\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -382,82 +375,89 @@ Require and verify client certificate.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-verify\-client\-cacert=<PATH>
|
.B \-\-verify\-client\-cacert=<PATH>
|
||||||
Path to file that contains CA certificates to
|
Path to file that contains CA certificates to verify
|
||||||
verify client certificate. The file must be in
|
client certificate. The file must be in PEM format. It
|
||||||
PEM format. It can contain multiple
|
can contain multiple certificates.
|
||||||
certificates.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-client\-private\-key\-file=<PATH>
|
.B \-\-client\-private\-key\-file=<PATH>
|
||||||
Path to file that contains client private key
|
Path to file that contains client private key used in
|
||||||
used in backend client authentication.
|
backend client authentication.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-client\-cert\-file=<PATH>
|
.B \-\-client\-cert\-file=<PATH>
|
||||||
Path to file that contains client certificate
|
Path to file that contains client certificate used in
|
||||||
used in backend client authentication.
|
backend client authentication.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-tls\-proto\-list=<LIST>
|
.B \-\-tls\-proto\-list=<LIST>
|
||||||
Comma delimited list of SSL/TLS protocol to be
|
Comma delimited list of SSL/TLS protocol to be enabled.
|
||||||
enabled. The following protocols are available:
|
The following protocols are available: TLSv1.2, TLSv1.1
|
||||||
TLSv1.2, TLSv1.1 and TLSv1.0. The name matching
|
and TLSv1.0. The name matching is done in
|
||||||
is done in case\-insensitive manner. The
|
case\-insensitive manner. The parameter must be
|
||||||
parameter must be delimited by a single comma
|
delimited by a single comma only and any white spaces
|
||||||
only and any white spaces are treated as a part
|
are treated as a part of protocol string.
|
||||||
of protocol string.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fBTLSv1.2,TLSv1.1\fP
|
Default: \fBTLSv1.2,TLSv1.1\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-tls\-ticket\-key\-file=<FILE>
|
.B \-\-tls\-ticket\-key\-file=<PATH>
|
||||||
Path to file that contains 48 bytes random data
|
Path to file that contains 48 bytes random data to
|
||||||
to construct TLS session ticket parameters. This
|
construct TLS session ticket parameters. This options
|
||||||
options can be used repeatedly to specify
|
can be used repeatedly to specify multiple ticket
|
||||||
multiple ticket parameters. If several files are
|
parameters. If several files are given, only the first
|
||||||
given, only the first key is used to encrypt TLS
|
key is used to encrypt TLS session tickets. Other keys
|
||||||
session tickets. Other keys are accepted but
|
are accepted but server will issue new session ticket
|
||||||
server will issue new session ticket with first
|
with first key. This allows session key rotation.
|
||||||
key. This allows session key rotation. Please
|
Please note that key rotation does not occur
|
||||||
note that key rotation does not occur
|
automatically. User should rearrange files or change
|
||||||
automatically. User should rearrange files or
|
options values and restart nghttpx gracefully. If
|
||||||
change options values and restart nghttpx
|
opening or reading given file fails, all loaded keys are
|
||||||
gracefully. If opening or reading given file
|
discarded and it is treated as if none of this option is
|
||||||
fails, all loaded keys are discarded and it is
|
given. If this option is not given or an error occurred
|
||||||
treated as if none of this option is given. If
|
|
||||||
this option is not given or an error occurred
|
|
||||||
while opening or reading a file, key is generated
|
while opening or reading a file, key is generated
|
||||||
automatically and renewed every 12hrs. At most 2
|
automatically and renewed every 12hrs. At most 2 keys
|
||||||
keys are stored in memory.
|
are stored in memory.
|
||||||
|
.UNINDENT
|
||||||
|
.INDENT 0.0
|
||||||
|
.TP
|
||||||
|
.B \-\-tls\-ctx\-per\-worker
|
||||||
|
Create OpenSSL\(aqs SSL_CTX per worker, so that no internal
|
||||||
|
locking is required. This may improve scalability with
|
||||||
|
multi threaded configuration. If this option is
|
||||||
|
enabled, session ID is no longer shared accross SSL_CTX
|
||||||
|
objects, which means session ID generated by one worker
|
||||||
|
is not acceptable by another worker. On the other hand,
|
||||||
|
session ticket key is shared across all worker threads.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS HTTP/2 and SPDY:
|
.SS HTTP/2 and SPDY:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-c, \-\-http2\-max\-concurrent\-streams=<NUM>
|
.B \-c, \-\-http2\-max\-concurrent\-streams=<N>
|
||||||
Set the maximum number of the concurrent streams
|
Set the maximum number of the concurrent streams in one
|
||||||
in one HTTP/2 and SPDY session.
|
HTTP/2 and SPDY session.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB100\fP
|
Default: \fB100\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-http2\-window\-bits=<N>
|
.B \-\-frontend\-http2\-window\-bits=<N>
|
||||||
Sets the per\-stream initial window size of HTTP/2
|
Sets the per\-stream initial window size of HTTP/2 SPDY
|
||||||
SPDY frontend connection. For HTTP/2, the size
|
frontend connection. For HTTP/2, the size is 2**<N>\-1.
|
||||||
is 2**<N>\-1. For SPDY, the size is 2**<N>.
|
For SPDY, the size is 2**<N>.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB16\fP
|
Default: \fB16\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-http2\-connection\-window\-bits=<N>
|
.B \-\-frontend\-http2\-connection\-window\-bits=<N>
|
||||||
Sets the per\-connection window size of HTTP/2 and
|
Sets the per\-connection window size of HTTP/2 and SPDY
|
||||||
SPDY frontend connection. For HTTP/2, the size
|
frontend connection. For HTTP/2, the size is
|
||||||
is 2**<N>\-1. For SPDY, the size is 2**<N>.
|
2**<N>\-1. For SPDY, the size is 2**<N>.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB16\fP
|
Default: \fB16\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -477,8 +477,8 @@ Default: \fB16\fP
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-http2\-connection\-window\-bits=<N>
|
.B \-\-backend\-http2\-connection\-window\-bits=<N>
|
||||||
Sets the per\-connection window size of HTTP/2
|
Sets the per\-connection window size of HTTP/2 backend
|
||||||
backend connection to 2**<N>\-1.
|
connection to 2**<N>\-1.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB16\fP
|
Default: \fB16\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -495,20 +495,20 @@ Don\(aqt crumble cookie header field.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-padding=<N>
|
.B \-\-padding=<N>
|
||||||
Add at most <N> bytes to a HTTP/2 frame payload
|
Add at most <N> bytes to a HTTP/2 frame payload as
|
||||||
as padding. Specify 0 to disable padding. This
|
padding. Specify 0 to disable padding. This option is
|
||||||
option is meant for debugging purpose and not
|
meant for debugging purpose and not intended to enhance
|
||||||
intended to enhance protocol security.
|
protocol security.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Mode:
|
.SS Mode:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B (default mode)
|
.B (default mode)
|
||||||
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS.
|
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
||||||
If \fI\%\-\-frontend\-no\-tls\fP is used, accept HTTP/2 and
|
\fI\%\-\-frontend\-no\-tls\fP is used, accept HTTP/2 and HTTP/1.1.
|
||||||
HTTP/1.1. The incoming HTTP/1.1 connection can
|
The incoming HTTP/1.1 connection can be upgraded to
|
||||||
be upgraded to HTTP/2 through HTTP Upgrade. The
|
HTTP/2 through HTTP Upgrade. The protocol to the
|
||||||
protocol to the backend is HTTP/1.1.
|
backend is HTTP/1.1.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -518,59 +518,56 @@ Like default mode, but enable secure proxy mode.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-http2\-bridge
|
.B \-\-http2\-bridge
|
||||||
Like default mode, but communicate with the
|
Like default mode, but communicate with the backend in
|
||||||
backend in HTTP/2 over SSL/TLS. Thus the
|
HTTP/2 over SSL/TLS. Thus the incoming all connections
|
||||||
incoming all connections are converted to HTTP/2
|
are converted to HTTP/2 connection and relayed to the
|
||||||
connection and relayed to the backend. See
|
backend. See \fI\%\-\-backend\-http\-proxy\-uri\fP option if you are
|
||||||
\fI\%\-\-backend\-http\-proxy\-uri\fP option if you are behind
|
behind the proxy and want to connect to the outside
|
||||||
the proxy and want to connect to the outside
|
|
||||||
HTTP/2 proxy.
|
HTTP/2 proxy.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-client
|
.B \-\-client
|
||||||
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
||||||
incoming HTTP/1.1 connection can be upgraded to
|
incoming HTTP/1.1 connection can be upgraded to HTTP/2
|
||||||
HTTP/2 connection through HTTP Upgrade. The
|
connection through HTTP Upgrade. The protocol to the
|
||||||
protocol to the backend is HTTP/2. To use
|
backend is HTTP/2. To use nghttpx as a forward proxy,
|
||||||
nghttpx as a forward proxy, use \fI\%\-p\fP option
|
use \fI\%\-p\fP option instead.
|
||||||
instead.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-p, \-\-client\-proxy
|
.B \-p, \-\-client\-proxy
|
||||||
Like \fI\%\-\-client\fP option, but it also requires the
|
Like \fI\%\-\-client\fP option, but it also requires the request
|
||||||
request path from frontend must be an absolute
|
path from frontend must be an absolute URI, suitable for
|
||||||
URI, suitable for use as a forward proxy.
|
use as a forward proxy.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Logging:
|
.SS Logging:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-L, \-\-log\-level=<LEVEL>
|
.B \-L, \-\-log\-level=<LEVEL>
|
||||||
Set the severity level of log output. <LEVEL>
|
Set the severity level of log output. <LEVEL> must be
|
||||||
must be one of INFO, NOTICE, WARN, ERROR and
|
one of INFO, NOTICE, WARN, ERROR and FATAL.
|
||||||
FATAL.
|
|
||||||
.sp
|
.sp
|
||||||
Default: \fBNOTICE\fP
|
Default: \fBNOTICE\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-accesslog\-file=<PATH>
|
.B \-\-accesslog\-file=<PATH>
|
||||||
Set path to write access log. To reopen file,
|
Set path to write access log. To reopen file, send USR1
|
||||||
send USR1 signal to nghttpx.
|
signal to nghttpx.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-accesslog\-syslog
|
.B \-\-accesslog\-syslog
|
||||||
Send access log to syslog. If this option is
|
Send access log to syslog. If this option is used,
|
||||||
used, \fI\%\-\-accesslog\-file\fP option is ignored.
|
\fI\%\-\-accesslog\-file\fP option is ignored.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-accesslog\-format=<FORMAT>
|
.B \-\-accesslog\-format=<FORMAT>
|
||||||
Specify format string for access log. The
|
Specify format string for access log. The default
|
||||||
default format is combined format. The following
|
format is combined format. The following variables are
|
||||||
variables are available:
|
available:
|
||||||
.INDENT 7.0
|
.INDENT 7.0
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$remote_addr: client IP address.
|
$remote_addr: client IP address.
|
||||||
|
@ -583,24 +580,24 @@ $request: HTTP request line.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$status: HTTP response status code.
|
$status: HTTP response status code.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$body_bytes_sent: the number of bytes sent to
|
$body_bytes_sent: the number of bytes sent to client
|
||||||
client as response body.
|
as response body.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$http_<VAR>: value of HTTP request header <VAR>
|
$http_<VAR>: value of HTTP request header <VAR> where
|
||||||
where \(aq_\(aq in <VAR> is replaced with \(aq\-\(aq.
|
\(aq_\(aq in <VAR> is replaced with \(aq\-\(aq.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$remote_port: client port.
|
$remote_port: client port.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$server_port: server port.
|
$server_port: server port.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$request_time: request processing time in
|
$request_time: request processing time in seconds with
|
||||||
seconds with milliseconds resolution.
|
milliseconds resolution.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$pid: PID of the running process.
|
$pid: PID of the running process.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
$alpn: ALPN identifier of the protocol which
|
$alpn: ALPN identifier of the protocol which generates
|
||||||
generates the response. For HTTP/1, ALPN is
|
the response. For HTTP/1, ALPN is always http/1.1,
|
||||||
always http/1.1, regardless of minor version.
|
regardless of minor version.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.sp
|
.sp
|
||||||
Default: \fB$remote_addr \- \- [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"\fP
|
Default: \fB$remote_addr \- \- [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"\fP
|
||||||
|
@ -608,16 +605,16 @@ Default: \fB$remote_addr \- \- [$time_local] "$request" $status $body_bytes_sent
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-errorlog\-file=<PATH>
|
.B \-\-errorlog\-file=<PATH>
|
||||||
Set path to write error log. To reopen file,
|
Set path to write error log. To reopen file, send USR1
|
||||||
send USR1 signal to nghttpx.
|
signal to nghttpx.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB/dev/stderr\fP
|
Default: \fB/dev/stderr\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-errorlog\-syslog
|
.B \-\-errorlog\-syslog
|
||||||
Send error log to syslog. If this option is
|
Send error log to syslog. If this option is used,
|
||||||
used, \fI\%\-\-errorlog\-file\fP option is ignored.
|
\fI\%\-\-errorlog\-file\fP option is ignored.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -626,86 +623,84 @@ Set syslog facility to <FACILITY>.
|
||||||
.sp
|
.sp
|
||||||
Default: \fBdaemon\fP
|
Default: \fBdaemon\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Misc:
|
.SS HTTP:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-add\-x\-forwarded\-for
|
.B \-\-add\-x\-forwarded\-for
|
||||||
Append X\-Forwarded\-For header field to the
|
Append X\-Forwarded\-For header field to the downstream
|
||||||
downstream request.
|
request.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-strip\-incoming\-x\-forwarded\-for
|
.B \-\-strip\-incoming\-x\-forwarded\-for
|
||||||
Strip X\-Forwarded\-For header field from inbound
|
Strip X\-Forwarded\-For header field from inbound client
|
||||||
client requests.
|
requests.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-no\-via
|
.B \-\-no\-via
|
||||||
Don\(aqt append to Via header field. If Via header
|
Don\(aqt append to Via header field. If Via header field
|
||||||
field is received, it is left unaltered.
|
is received, it is left unaltered.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-no\-location\-rewrite
|
.B \-\-no\-location\-rewrite
|
||||||
Don\(aqt rewrite location header field on
|
Don\(aqt rewrite location header field on \fI\%\-\-http2\-bridge\fP,
|
||||||
\fI\%\-\-http2\-bridge\fP, \fI\%\-\-client\fP and default mode. For
|
\fI\%\-\-client\fP and default mode. For \fI\%\-\-http2\-proxy\fP and
|
||||||
\fI\%\-\-http2\-proxy\fP and \fI\%\-\-client\-proxy\fP mode, location
|
\fI\%\-\-client\-proxy\fP mode, location header field will not be
|
||||||
header field will not be altered regardless of
|
altered regardless of this option.
|
||||||
this option.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
.B \-\-altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
||||||
Specify protocol ID, port, host and origin of
|
Specify protocol ID, port, host and origin of
|
||||||
alternative service. <HOST> and <ORIGIN> are
|
alternative service. <HOST> and <ORIGIN> are optional.
|
||||||
optional. They are advertised in alt\-svc header
|
They are advertised in alt\-svc header field or HTTP/2
|
||||||
field or HTTP/2 ALTSVC frame. This option can be
|
ALTSVC frame. This option can be used multiple times to
|
||||||
used multiple times to specify multiple
|
specify multiple alternative services. Example:
|
||||||
alternative services. Example: \fI\%\-\-altsvc\fP=h2,443
|
\fI\%\-\-altsvc\fP=h2,443
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-add\-response\-header=<HEADER>
|
.B \-\-add\-response\-header=<HEADER>
|
||||||
Specify additional header field to add to
|
Specify additional header field to add to response
|
||||||
response header set. This option just appends
|
header set. This option just appends header field and
|
||||||
header field and won\(aqt replace anything already
|
won\(aqt replace anything already set. This option can be
|
||||||
set. This option can be used several times to
|
used several times to specify multiple header fields.
|
||||||
specify multiple header fields.
|
|
||||||
Example: \fI\%\-\-add\-response\-header\fP="foo: bar"
|
Example: \fI\%\-\-add\-response\-header\fP="foo: bar"
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.SS Debug:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-http2\-dump\-request\-header=<PATH>
|
.B \-\-frontend\-http2\-dump\-request\-header=<PATH>
|
||||||
Dumps request headers received by HTTP/2 frontend
|
Dumps request headers received by HTTP/2 frontend to the
|
||||||
to the file denoted in <PATH>. The output is
|
file denoted in <PATH>. The output is done in HTTP/1
|
||||||
done in HTTP/1 header field format and each
|
header field format and each header block is followed by
|
||||||
header block is followed by an empty line. This
|
an empty line. This option is not thread safe and MUST
|
||||||
option is not thread safe and MUST NOT be used
|
NOT be used with option \fI\%\-n\fP<N>, where <N> >= 2.
|
||||||
with option \fI\%\-n\fP<N>, where <N> >= 2.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-frontend\-http2\-dump\-response\-header=<PATH>
|
.B \-\-frontend\-http2\-dump\-response\-header=<PATH>
|
||||||
Dumps response headers sent from HTTP/2 frontend
|
Dumps response headers sent from HTTP/2 frontend to the
|
||||||
to the file denoted in <PATH>. The output is
|
file denoted in <PATH>. The output is done in HTTP/1
|
||||||
done in HTTP/1 header field format and each
|
header field format and each header block is followed by
|
||||||
header block is followed by an empty line. This
|
an empty line. This option is not thread safe and MUST
|
||||||
option is not thread safe and MUST NOT be used
|
NOT be used with option \fI\%\-n\fP<N>, where <N> >= 2.
|
||||||
with option \fI\%\-n\fP<N>, where <N> >= 2.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-o, \-\-frontend\-frame\-debug
|
.B \-o, \-\-frontend\-frame\-debug
|
||||||
Print HTTP/2 frames in frontend to stderr. This
|
Print HTTP/2 frames in frontend to stderr. This option
|
||||||
option is not thread safe and MUST NOT be used
|
is not thread safe and MUST NOT be used with option
|
||||||
with option \fI\%\-n\fP=N, where N >= 2.
|
\fI\%\-n\fP=N, where N >= 2.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.SS Process:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-D, \-\-daemon
|
.B \-D, \-\-daemon
|
||||||
Run in a background. If \fI\%\-D\fP is used, the current
|
Run in a background. If \fI\%\-D\fP is used, the current working
|
||||||
working directory is changed to \(aq\fI/\fP\(aq.
|
directory is changed to \(aq\fI/\fP\(aq.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -715,9 +710,10 @@ Set path to save PID of this program.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-user=<USER>
|
.B \-\-user=<USER>
|
||||||
Run this program as <USER>. This option is
|
Run this program as <USER>. This option is intended to
|
||||||
intended to be used to drop root privileges.
|
be used to drop root privileges.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.SS Misc:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-conf=<PATH>
|
.B \-\-conf=<PATH>
|
||||||
|
@ -735,6 +731,9 @@ Print version and exit.
|
||||||
.B \-h, \-\-help
|
.B \-h, \-\-help
|
||||||
Print this help and exit.
|
Print this help and exit.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
.sp
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
|
|
@ -14,15 +14,15 @@ A reverse proxy for HTTP/2, HTTP/1 and SPDY.
|
||||||
|
|
||||||
.. describe:: <PRIVATE_KEY>
|
.. describe:: <PRIVATE_KEY>
|
||||||
|
|
||||||
Set path to server's private key. Required
|
|
||||||
unless :option:`-p`\, :option:`--client` or :option:`\--frontend-no-tls` are
|
Set path to server's private key. Required unless :option:`-p`\,
|
||||||
given.
|
:option:`--client` or :option:`\--frontend-no-tls` are given.
|
||||||
|
|
||||||
.. describe:: <CERT>
|
.. describe:: <CERT>
|
||||||
|
|
||||||
Set path to server's certificate. Required
|
Set path to server's certificate. Required unless :option:`-p`\,
|
||||||
unless :option:`-p`\, :option:`--client` or :option:`\--frontend-no-tls` are
|
:option:`--client` or :option:`\--frontend-no-tls` are given.
|
||||||
given.
|
|
||||||
|
|
||||||
OPTIONS:
|
OPTIONS:
|
||||||
--------
|
--------
|
||||||
|
@ -34,28 +34,26 @@ Connections:
|
||||||
|
|
||||||
.. option:: -b, --backend=<HOST,PORT>
|
.. option:: -b, --backend=<HOST,PORT>
|
||||||
|
|
||||||
Set backend host and port. For HTTP/1 backend,
|
Set backend host and port. For HTTP/1 backend, multiple
|
||||||
multiple backend addresses are accepted by
|
backend addresses are accepted by repeating this option.
|
||||||
repeating this option. HTTP/2 backend does not
|
HTTP/2 backend does not support multiple backend
|
||||||
support multiple backend addresses and the first
|
addresses and the first occurrence of this option is
|
||||||
occurrence of this option is used.
|
used.
|
||||||
|
|
||||||
Default: ``127.0.0.1,80``
|
Default: ``127.0.0.1,80``
|
||||||
|
|
||||||
.. option:: -f, --frontend=<HOST,PORT>
|
.. option:: -f, --frontend=<HOST,PORT>
|
||||||
|
|
||||||
Set frontend host and port. If <HOST> is '\*', it
|
Set frontend host and port. If <HOST> is '\*', it
|
||||||
assumes all addresses including both IPv4 and
|
assumes all addresses including both IPv4 and IPv6.
|
||||||
IPv6.
|
|
||||||
|
|
||||||
Default: ``*,3000``
|
Default: ``*,3000``
|
||||||
|
|
||||||
.. option:: --backlog=<NUM>
|
.. option:: --backlog=<N>
|
||||||
|
|
||||||
Set listen backlog size. If :option:`-1` is given,
|
Set listen backlog size.
|
||||||
libevent will choose suitable value.
|
|
||||||
|
|
||||||
Default: ``128``
|
Default: ``512``
|
||||||
|
|
||||||
.. option:: --backend-ipv4
|
.. option:: --backend-ipv4
|
||||||
|
|
||||||
|
@ -68,134 +66,136 @@ Connections:
|
||||||
.. option:: --backend-http-proxy-uri=<URI>
|
.. option:: --backend-http-proxy-uri=<URI>
|
||||||
|
|
||||||
Specify proxy URI in the form
|
Specify proxy URI in the form
|
||||||
http://[<USER>:<PASS>@]<PROXY>:<PORT>. If a
|
http://[<USER>:<PASS>@]<PROXY>:<PORT>. If a proxy
|
||||||
proxy requires authentication, specify <USER> and
|
requires authentication, specify <USER> and <PASS>.
|
||||||
<PASS>. Note that they must be properly
|
Note that they must be properly percent-encoded. This
|
||||||
percent-encoded. This proxy is used when the
|
proxy is used when the backend connection is HTTP/2.
|
||||||
backend connection is HTTP/2. First, make a
|
First, make a CONNECT request to the proxy and it
|
||||||
CONNECT request to the proxy and it connects to
|
connects to the backend on behalf of nghttpx. This
|
||||||
the backend on behalf of nghttpx. This forms
|
forms tunnel. After that, nghttpx performs SSL/TLS
|
||||||
tunnel. After that, nghttpx performs SSL/TLS
|
handshake with the downstream through the tunnel. The
|
||||||
handshake with the downstream through the tunnel.
|
timeouts when connecting and making CONNECT request can
|
||||||
The timeouts when connecting and making CONNECT
|
be specified by :option:`--backend-read-timeout` and
|
||||||
request can be specified by
|
|
||||||
:option:`--backend-read-timeout` and
|
|
||||||
:option:`--backend-write-timeout` options.
|
:option:`--backend-write-timeout` options.
|
||||||
|
|
||||||
|
|
||||||
Performance:
|
Performance:
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
.. option:: -n, --workers=<CORES>
|
.. option:: -n, --workers=<N>
|
||||||
|
|
||||||
Set the number of worker threads.
|
Set the number of worker threads.
|
||||||
|
|
||||||
Default: ``1``
|
Default: ``1``
|
||||||
|
|
||||||
.. option:: --read-rate=<RATE>
|
.. option:: --read-rate=<SIZE>
|
||||||
|
|
||||||
Set maximum average read rate on frontend
|
Set maximum average read rate on frontend connection.
|
||||||
connection. Setting 0 to this option means read
|
Setting 0 to this option means read rate is unlimited.
|
||||||
rate is unlimited.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --read-burst=<SIZE>
|
.. option:: --read-burst=<SIZE>
|
||||||
|
|
||||||
Set maximum read burst size on frontend
|
Set maximum read burst size on frontend connection.
|
||||||
connection. Setting 0 to this option means read
|
Setting 0 to this option means read burst size is
|
||||||
burst size is unlimited.
|
unlimited.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --write-rate=<RATE>
|
.. option:: --write-rate=<SIZE>
|
||||||
|
|
||||||
Set maximum average write rate on frontend
|
Set maximum average write rate on frontend connection.
|
||||||
connection. Setting 0 to this option means write
|
Setting 0 to this option means write rate is unlimited.
|
||||||
rate is unlimited.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --write-burst=<SIZE>
|
.. option:: --write-burst=<SIZE>
|
||||||
|
|
||||||
Set maximum write burst size on frontend
|
Set maximum write burst size on frontend connection.
|
||||||
connection. Setting 0 to this option means write
|
Setting 0 to this option means write burst size is
|
||||||
burst size is unlimited.
|
unlimited.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --worker-read-rate=<RATE>
|
.. option:: --worker-read-rate=<SIZE>
|
||||||
|
|
||||||
Set maximum average read rate on frontend
|
Set maximum average read rate on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means read rate is
|
||||||
means read rate is unlimited. Not implemented
|
unlimited. Not implemented yet.
|
||||||
yet.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --worker-read-burst=<SIZE>
|
.. option:: --worker-read-burst=<SIZE>
|
||||||
|
|
||||||
Set maximum read burst size on frontend
|
Set maximum read burst size on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means read burst size
|
||||||
means read burst size is unlimited. Not
|
is unlimited. Not implemented yet.
|
||||||
implemented yet.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --worker-write-rate=<RATE>
|
.. option:: --worker-write-rate=<SIZE>
|
||||||
|
|
||||||
Set maximum average write rate on frontend
|
Set maximum average write rate on frontend connection
|
||||||
connection per worker. Setting 0 to this option
|
per worker. Setting 0 to this option means write rate
|
||||||
means write rate is unlimited. Not implemented
|
is unlimited. Not implemented yet.
|
||||||
yet.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --worker-write-burst=<SIZE>
|
.. option:: --worker-write-burst=<SIZE>
|
||||||
|
|
||||||
Set maximum write burst size on frontend
|
Set maximum write burst size on frontend connection per
|
||||||
connection per worker. Setting 0 to this option
|
worker. Setting 0 to this option means write burst size
|
||||||
means write burst size is unlimited. Not
|
is unlimited. Not implemented yet.
|
||||||
implemented yet.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --worker-frontend-connections=<NUM>
|
.. option:: --worker-frontend-connections=<N>
|
||||||
|
|
||||||
Set maximum number of simultaneous connections
|
Set maximum number of simultaneous connections frontend
|
||||||
frontend accepts. Setting 0 means unlimited.
|
accepts. Setting 0 means unlimited.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --backend-http1-connections-per-host=<NUM>
|
.. option:: --backend-http1-connections-per-host=<N>
|
||||||
|
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent HTTP/1
|
||||||
connections per host. This option is meaningful
|
connections per host. This option is meaningful when :option:`-s`
|
||||||
when :option:`-s` option is used. To limit the number of
|
option is used. To limit the number of connections per
|
||||||
connections per frontend for default mode, use
|
frontend for default mode, use
|
||||||
:option:`--backend-http1-connections-per-frontend`\.
|
:option:`--backend-http1-connections-per-frontend`\.
|
||||||
|
|
||||||
Default: ``8``
|
Default: ``8``
|
||||||
|
|
||||||
.. option:: --backend-http1-connections-per-frontend=<NUM>
|
.. option:: --backend-http1-connections-per-frontend=<N>
|
||||||
|
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent HTTP/1
|
||||||
connections per frontend. This option is only
|
connections per frontend. This option is only used for
|
||||||
used for default mode. 0 means unlimited. To
|
default mode. 0 means unlimited. To limit the number
|
||||||
limit the number of connections per host for
|
of connections per host for HTTP/2 or SPDY proxy mode
|
||||||
HTTP/2 or SPDY proxy mode (-s option), use
|
(-s option), use :option:`--backend-http1-connections-per-host`\.
|
||||||
:option:`--backend-http1-connections-per-host`\.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --rlimit-nofile=<N>
|
.. option:: --rlimit-nofile=<N>
|
||||||
|
|
||||||
Set maximum number of open files (RLIMIT_NOFILE)
|
Set maximum number of open files (RLIMIT_NOFILE) to <N>.
|
||||||
to <N>. If 0 is given, nghttpx does not set the
|
If 0 is given, nghttpx does not set the limit.
|
||||||
limit.
|
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
|
.. option:: --backend-request-buffer=<SIZE>
|
||||||
|
|
||||||
|
Set buffer size used to store backend request.
|
||||||
|
|
||||||
|
Default: ``16K``
|
||||||
|
|
||||||
|
.. option:: --backend-response-buffer=<SIZE>
|
||||||
|
|
||||||
|
Set buffer size used to store backend response.
|
||||||
|
|
||||||
|
Default: ``64K``
|
||||||
|
|
||||||
|
|
||||||
Timeout:
|
Timeout:
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
@ -209,29 +209,27 @@ Timeout:
|
||||||
|
|
||||||
.. option:: --frontend-read-timeout=<SEC>
|
.. option:: --frontend-read-timeout=<SEC>
|
||||||
|
|
||||||
Specify read timeout for HTTP/1.1 frontend
|
Specify read timeout for HTTP/1.1 frontend connection.
|
||||||
connection.
|
|
||||||
|
|
||||||
Default: ``180``
|
Default: ``180``
|
||||||
|
|
||||||
.. option:: --frontend-write-timeout=<SEC>
|
.. option:: --frontend-write-timeout=<SEC>
|
||||||
|
|
||||||
Specify write timeout for all frontend
|
Specify write timeout for all frontend connections.
|
||||||
connections.
|
|
||||||
|
|
||||||
Default: ``30``
|
Default: ``30``
|
||||||
|
|
||||||
.. option:: --stream-read-timeout=<SEC>
|
.. option:: --stream-read-timeout=<SEC>
|
||||||
|
|
||||||
Specify read timeout for HTTP/2 and SPDY streams.
|
Specify read timeout for HTTP/2 and SPDY streams. 0
|
||||||
0 means no timeout.
|
means no timeout.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --stream-write-timeout=<SEC>
|
.. option:: --stream-write-timeout=<SEC>
|
||||||
|
|
||||||
Specify write timeout for HTTP/2 and SPDY
|
Specify write timeout for HTTP/2 and SPDY streams. 0
|
||||||
streams. 0 means no timeout.
|
means no timeout.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
|
@ -249,16 +247,15 @@ Timeout:
|
||||||
|
|
||||||
.. option:: --backend-keep-alive-timeout=<SEC>
|
.. option:: --backend-keep-alive-timeout=<SEC>
|
||||||
|
|
||||||
Specify keep-alive timeout for backend
|
Specify keep-alive timeout for backend connection.
|
||||||
connection.
|
|
||||||
|
|
||||||
Default: ``600``
|
Default: ``600``
|
||||||
|
|
||||||
.. option:: --listener-disable-timeout=<SEC>
|
.. option:: --listener-disable-timeout=<SEC>
|
||||||
|
|
||||||
After accepting connection failed, connection
|
After accepting connection failed, connection listener
|
||||||
listener is disabled for a given time in seconds.
|
is disabled for a given time in seconds. Specifying 0
|
||||||
Specifying 0 disables this feature.
|
disables this feature.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
|
@ -268,8 +265,8 @@ SSL/TLS:
|
||||||
|
|
||||||
.. option:: --ciphers=<SUITE>
|
.. option:: --ciphers=<SUITE>
|
||||||
|
|
||||||
Set allowed cipher list. The format of the
|
Set allowed cipher list. The format of the string is
|
||||||
string is described in OpenSSL ciphers(1).
|
described in OpenSSL ciphers(1).
|
||||||
|
|
||||||
.. option:: -k, --insecure
|
.. option:: -k, --insecure
|
||||||
|
|
||||||
|
@ -279,49 +276,45 @@ SSL/TLS:
|
||||||
|
|
||||||
.. option:: --cacert=<PATH>
|
.. option:: --cacert=<PATH>
|
||||||
|
|
||||||
Set path to trusted CA certificate file if :option:`-p`\,
|
Set path to trusted CA certificate file if :option:`-p`\, :option:`--client`
|
||||||
:option:`--client` or :option:`\--http2-bridge` are given and
|
or :option:`--http2-bridge` are given and :option:`\--backend-no-tls` is not
|
||||||
:option:`--backend-no-tls` is not given. The file must be
|
given. The file must be in PEM format. It can contain
|
||||||
in PEM format. It can contain multiple
|
multiple certificates. If the linked OpenSSL is
|
||||||
certificates. If the linked OpenSSL is
|
configured to load system wide certificates, they are
|
||||||
configured to load system wide certificates, they
|
loaded at startup regardless of this option.
|
||||||
are loaded at startup regardless of this option.
|
|
||||||
|
|
||||||
.. option:: --private-key-passwd-file=<FILEPATH>
|
.. option:: --private-key-passwd-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains password for the
|
Path to file that contains password for the server's
|
||||||
server's private key. If none is given and the
|
private key. If none is given and the private key is
|
||||||
private key is password protected it'll be
|
password protected it'll be requested interactively.
|
||||||
requested interactively.
|
|
||||||
|
|
||||||
.. option:: --subcert=<KEYPATH>:<CERTPATH>
|
.. option:: --subcert=<KEYPATH>:<CERTPATH>
|
||||||
|
|
||||||
Specify additional certificate and private key
|
Specify additional certificate and private key file.
|
||||||
file. nghttpx will choose certificates based on
|
nghttpx will choose certificates based on the hostname
|
||||||
the hostname indicated by client using TLS SNI
|
indicated by client using TLS SNI extension. This
|
||||||
extension. This option can be used multiple
|
option can be used multiple times.
|
||||||
times.
|
|
||||||
|
|
||||||
.. option:: --backend-tls-sni-field=<HOST>
|
.. option:: --backend-tls-sni-field=<HOST>
|
||||||
|
|
||||||
Explicitly set the content of the TLS SNI
|
Explicitly set the content of the TLS SNI extension.
|
||||||
extension. This will default to the backend HOST
|
This will default to the backend HOST name.
|
||||||
name.
|
|
||||||
|
|
||||||
.. option:: --dh-param-file=<PATH>
|
.. option:: --dh-param-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains DH parameters in PEM
|
Path to file that contains DH parameters in PEM format.
|
||||||
format. Without this option, DHE cipher suites
|
Without this option, DHE cipher suites are not
|
||||||
are not available.
|
available.
|
||||||
|
|
||||||
.. option:: --npn-list=<LIST>
|
.. option:: --npn-list=<LIST>
|
||||||
|
|
||||||
Comma delimited list of ALPN protocol identifier
|
Comma delimited list of ALPN protocol identifier sorted
|
||||||
sorted in the order of preference. That means
|
in the order of preference. That means most desirable
|
||||||
most desirable protocol comes first. This is
|
protocol comes first. This is used in both ALPN and
|
||||||
used in both ALPN and NPN. The parameter must be
|
NPN. The parameter must be delimited by a single comma
|
||||||
delimited by a single comma only and any white
|
only and any white spaces are treated as a part of
|
||||||
spaces are treated as a part of protocol string.
|
protocol string.
|
||||||
|
|
||||||
Default: ``h2-16,h2-14,spdy/3.1,http/1.1``
|
Default: ``h2-16,h2-14,spdy/3.1,http/1.1``
|
||||||
|
|
||||||
|
@ -331,78 +324,84 @@ SSL/TLS:
|
||||||
|
|
||||||
.. option:: --verify-client-cacert=<PATH>
|
.. option:: --verify-client-cacert=<PATH>
|
||||||
|
|
||||||
Path to file that contains CA certificates to
|
Path to file that contains CA certificates to verify
|
||||||
verify client certificate. The file must be in
|
client certificate. The file must be in PEM format. It
|
||||||
PEM format. It can contain multiple
|
can contain multiple certificates.
|
||||||
certificates.
|
|
||||||
|
|
||||||
.. option:: --client-private-key-file=<PATH>
|
.. option:: --client-private-key-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains client private key
|
Path to file that contains client private key used in
|
||||||
used in backend client authentication.
|
backend client authentication.
|
||||||
|
|
||||||
.. option:: --client-cert-file=<PATH>
|
.. option:: --client-cert-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains client certificate
|
Path to file that contains client certificate used in
|
||||||
used in backend client authentication.
|
backend client authentication.
|
||||||
|
|
||||||
.. option:: --tls-proto-list=<LIST>
|
.. option:: --tls-proto-list=<LIST>
|
||||||
|
|
||||||
Comma delimited list of SSL/TLS protocol to be
|
Comma delimited list of SSL/TLS protocol to be enabled.
|
||||||
enabled. The following protocols are available:
|
The following protocols are available: TLSv1.2, TLSv1.1
|
||||||
TLSv1.2, TLSv1.1 and TLSv1.0. The name matching
|
and TLSv1.0. The name matching is done in
|
||||||
is done in case-insensitive manner. The
|
case-insensitive manner. The parameter must be
|
||||||
parameter must be delimited by a single comma
|
delimited by a single comma only and any white spaces
|
||||||
only and any white spaces are treated as a part
|
are treated as a part of protocol string.
|
||||||
of protocol string.
|
|
||||||
|
|
||||||
Default: ``TLSv1.2,TLSv1.1``
|
Default: ``TLSv1.2,TLSv1.1``
|
||||||
|
|
||||||
.. option:: --tls-ticket-key-file=<FILE>
|
.. option:: --tls-ticket-key-file=<PATH>
|
||||||
|
|
||||||
Path to file that contains 48 bytes random data
|
Path to file that contains 48 bytes random data to
|
||||||
to construct TLS session ticket parameters. This
|
construct TLS session ticket parameters. This options
|
||||||
options can be used repeatedly to specify
|
can be used repeatedly to specify multiple ticket
|
||||||
multiple ticket parameters. If several files are
|
parameters. If several files are given, only the first
|
||||||
given, only the first key is used to encrypt TLS
|
key is used to encrypt TLS session tickets. Other keys
|
||||||
session tickets. Other keys are accepted but
|
are accepted but server will issue new session ticket
|
||||||
server will issue new session ticket with first
|
with first key. This allows session key rotation.
|
||||||
key. This allows session key rotation. Please
|
Please note that key rotation does not occur
|
||||||
note that key rotation does not occur
|
automatically. User should rearrange files or change
|
||||||
automatically. User should rearrange files or
|
options values and restart nghttpx gracefully. If
|
||||||
change options values and restart nghttpx
|
opening or reading given file fails, all loaded keys are
|
||||||
gracefully. If opening or reading given file
|
discarded and it is treated as if none of this option is
|
||||||
fails, all loaded keys are discarded and it is
|
given. If this option is not given or an error occurred
|
||||||
treated as if none of this option is given. If
|
|
||||||
this option is not given or an error occurred
|
|
||||||
while opening or reading a file, key is generated
|
while opening or reading a file, key is generated
|
||||||
automatically and renewed every 12hrs. At most 2
|
automatically and renewed every 12hrs. At most 2 keys
|
||||||
keys are stored in memory.
|
are stored in memory.
|
||||||
|
|
||||||
|
.. option:: --tls-ctx-per-worker
|
||||||
|
|
||||||
|
Create OpenSSL's SSL_CTX per worker, so that no internal
|
||||||
|
locking is required. This may improve scalability with
|
||||||
|
multi threaded configuration. If this option is
|
||||||
|
enabled, session ID is no longer shared accross SSL_CTX
|
||||||
|
objects, which means session ID generated by one worker
|
||||||
|
is not acceptable by another worker. On the other hand,
|
||||||
|
session ticket key is shared across all worker threads.
|
||||||
|
|
||||||
|
|
||||||
HTTP/2 and SPDY:
|
HTTP/2 and SPDY:
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. option:: -c, --http2-max-concurrent-streams=<NUM>
|
.. option:: -c, --http2-max-concurrent-streams=<N>
|
||||||
|
|
||||||
Set the maximum number of the concurrent streams
|
Set the maximum number of the concurrent streams in one
|
||||||
in one HTTP/2 and SPDY session.
|
HTTP/2 and SPDY session.
|
||||||
|
|
||||||
Default: ``100``
|
Default: ``100``
|
||||||
|
|
||||||
.. option:: --frontend-http2-window-bits=<N>
|
.. option:: --frontend-http2-window-bits=<N>
|
||||||
|
|
||||||
Sets the per-stream initial window size of HTTP/2
|
Sets the per-stream initial window size of HTTP/2 SPDY
|
||||||
SPDY frontend connection. For HTTP/2, the size
|
frontend connection. For HTTP/2, the size is 2\*\*<N>-1.
|
||||||
is 2**<N>-1. For SPDY, the size is 2\*\*<N>.
|
For SPDY, the size is 2\*\*<N>.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``16``
|
||||||
|
|
||||||
.. option:: --frontend-http2-connection-window-bits=<N>
|
.. option:: --frontend-http2-connection-window-bits=<N>
|
||||||
|
|
||||||
Sets the per-connection window size of HTTP/2 and
|
Sets the per-connection window size of HTTP/2 and SPDY
|
||||||
SPDY frontend connection. For HTTP/2, the size
|
frontend connection. For HTTP/2, the size is
|
||||||
is 2**<N>-1. For SPDY, the size is 2\*\*<N>.
|
2**<N>-1. For SPDY, the size is 2\*\*<N>.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``16``
|
||||||
|
|
||||||
|
@ -413,14 +412,14 @@ HTTP/2 and SPDY:
|
||||||
.. option:: --backend-http2-window-bits=<N>
|
.. option:: --backend-http2-window-bits=<N>
|
||||||
|
|
||||||
Sets the initial window size of HTTP/2 backend
|
Sets the initial window size of HTTP/2 backend
|
||||||
connection to 2**<N>-1.
|
connection to 2\*\*<N>-1.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``16``
|
||||||
|
|
||||||
.. option:: --backend-http2-connection-window-bits=<N>
|
.. option:: --backend-http2-connection-window-bits=<N>
|
||||||
|
|
||||||
Sets the per-connection window size of HTTP/2
|
Sets the per-connection window size of HTTP/2 backend
|
||||||
backend connection to 2\*\*<N>-1.
|
connection to 2\*\*<N>-1.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``16``
|
||||||
|
|
||||||
|
@ -434,10 +433,10 @@ HTTP/2 and SPDY:
|
||||||
|
|
||||||
.. option:: --padding=<N>
|
.. option:: --padding=<N>
|
||||||
|
|
||||||
Add at most <N> bytes to a HTTP/2 frame payload
|
Add at most <N> bytes to a HTTP/2 frame payload as
|
||||||
as padding. Specify 0 to disable padding. This
|
padding. Specify 0 to disable padding. This option is
|
||||||
option is meant for debugging purpose and not
|
meant for debugging purpose and not intended to enhance
|
||||||
intended to enhance protocol security.
|
protocol security.
|
||||||
|
|
||||||
|
|
||||||
Mode:
|
Mode:
|
||||||
|
@ -445,11 +444,12 @@ Mode:
|
||||||
|
|
||||||
.. describe:: (default mode)
|
.. describe:: (default mode)
|
||||||
|
|
||||||
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS.
|
|
||||||
If :option:`--frontend-no-tls` is used, accept HTTP/2 and
|
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
||||||
HTTP/1.1. The incoming HTTP/1.1 connection can
|
:option:`--frontend-no-tls` is used, accept HTTP/2 and HTTP/1.1.
|
||||||
be upgraded to HTTP/2 through HTTP Upgrade. The
|
The incoming HTTP/1.1 connection can be upgraded to
|
||||||
protocol to the backend is HTTP/1.1.
|
HTTP/2 through HTTP Upgrade. The protocol to the
|
||||||
|
backend is HTTP/1.1.
|
||||||
|
|
||||||
.. option:: -s, --http2-proxy
|
.. option:: -s, --http2-proxy
|
||||||
|
|
||||||
|
@ -457,28 +457,26 @@ Mode:
|
||||||
|
|
||||||
.. option:: --http2-bridge
|
.. option:: --http2-bridge
|
||||||
|
|
||||||
Like default mode, but communicate with the
|
Like default mode, but communicate with the backend in
|
||||||
backend in HTTP/2 over SSL/TLS. Thus the
|
HTTP/2 over SSL/TLS. Thus the incoming all connections
|
||||||
incoming all connections are converted to HTTP/2
|
are converted to HTTP/2 connection and relayed to the
|
||||||
connection and relayed to the backend. See
|
backend. See :option:`--backend-http-proxy-uri` option if you are
|
||||||
:option:`--backend-http-proxy-uri` option if you are behind
|
behind the proxy and want to connect to the outside
|
||||||
the proxy and want to connect to the outside
|
|
||||||
HTTP/2 proxy.
|
HTTP/2 proxy.
|
||||||
|
|
||||||
.. option:: --client
|
.. option:: --client
|
||||||
|
|
||||||
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
||||||
incoming HTTP/1.1 connection can be upgraded to
|
incoming HTTP/1.1 connection can be upgraded to HTTP/2
|
||||||
HTTP/2 connection through HTTP Upgrade. The
|
connection through HTTP Upgrade. The protocol to the
|
||||||
protocol to the backend is HTTP/2. To use
|
backend is HTTP/2. To use nghttpx as a forward proxy,
|
||||||
nghttpx as a forward proxy, use :option:`-p` option
|
use :option:`-p` option instead.
|
||||||
instead.
|
|
||||||
|
|
||||||
.. option:: -p, --client-proxy
|
.. option:: -p, --client-proxy
|
||||||
|
|
||||||
Like :option:`--client` option, but it also requires the
|
Like :option:`--client` option, but it also requires the request
|
||||||
request path from frontend must be an absolute
|
path from frontend must be an absolute URI, suitable for
|
||||||
URI, suitable for use as a forward proxy.
|
use as a forward proxy.
|
||||||
|
|
||||||
|
|
||||||
Logging:
|
Logging:
|
||||||
|
@ -486,60 +484,59 @@ Logging:
|
||||||
|
|
||||||
.. option:: -L, --log-level=<LEVEL>
|
.. option:: -L, --log-level=<LEVEL>
|
||||||
|
|
||||||
Set the severity level of log output. <LEVEL>
|
Set the severity level of log output. <LEVEL> must be
|
||||||
must be one of INFO, NOTICE, WARN, ERROR and
|
one of INFO, NOTICE, WARN, ERROR and FATAL.
|
||||||
FATAL.
|
|
||||||
|
|
||||||
Default: ``NOTICE``
|
Default: ``NOTICE``
|
||||||
|
|
||||||
.. option:: --accesslog-file=<PATH>
|
.. option:: --accesslog-file=<PATH>
|
||||||
|
|
||||||
Set path to write access log. To reopen file,
|
Set path to write access log. To reopen file, send USR1
|
||||||
send USR1 signal to nghttpx.
|
signal to nghttpx.
|
||||||
|
|
||||||
.. option:: --accesslog-syslog
|
.. option:: --accesslog-syslog
|
||||||
|
|
||||||
Send access log to syslog. If this option is
|
Send access log to syslog. If this option is used,
|
||||||
used, :option:`--accesslog-file` option is ignored.
|
:option:`--accesslog-file` option is ignored.
|
||||||
|
|
||||||
.. option:: --accesslog-format=<FORMAT>
|
.. option:: --accesslog-format=<FORMAT>
|
||||||
|
|
||||||
Specify format string for access log. The
|
Specify format string for access log. The default
|
||||||
default format is combined format. The following
|
format is combined format. The following variables are
|
||||||
variables are available:
|
available:
|
||||||
|
|
||||||
* $remote_addr: client IP address.
|
* $remote_addr: client IP address.
|
||||||
* $time_local: local time in Common Log format.
|
* $time_local: local time in Common Log format.
|
||||||
* $time_iso8601: local time in ISO 8601 format.
|
* $time_iso8601: local time in ISO 8601 format.
|
||||||
* $request: HTTP request line.
|
* $request: HTTP request line.
|
||||||
* $status: HTTP response status code.
|
* $status: HTTP response status code.
|
||||||
* $body_bytes_sent: the number of bytes sent to
|
* $body_bytes_sent: the number of bytes sent to client
|
||||||
client as response body.
|
as response body.
|
||||||
* $http_<VAR>: value of HTTP request header <VAR>
|
* $http_<VAR>: value of HTTP request header <VAR> where
|
||||||
where '_' in <VAR> is replaced with '-'.
|
'_' in <VAR> is replaced with '-'.
|
||||||
* $remote_port: client port.
|
* $remote_port: client port.
|
||||||
* $server_port: server port.
|
* $server_port: server port.
|
||||||
* $request_time: request processing time in
|
* $request_time: request processing time in seconds with
|
||||||
seconds with milliseconds resolution.
|
milliseconds resolution.
|
||||||
* $pid: PID of the running process.
|
* $pid: PID of the running process.
|
||||||
* $alpn: ALPN identifier of the protocol which
|
* $alpn: ALPN identifier of the protocol which generates
|
||||||
generates the response. For HTTP/1, ALPN is
|
the response. For HTTP/1, ALPN is always http/1.1,
|
||||||
always http/1.1, regardless of minor version.
|
regardless of minor version.
|
||||||
|
|
||||||
|
|
||||||
Default: ``$remote_addr - - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"``
|
Default: ``$remote_addr - - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"``
|
||||||
|
|
||||||
.. option:: --errorlog-file=<PATH>
|
.. option:: --errorlog-file=<PATH>
|
||||||
|
|
||||||
Set path to write error log. To reopen file,
|
Set path to write error log. To reopen file, send USR1
|
||||||
send USR1 signal to nghttpx.
|
signal to nghttpx.
|
||||||
|
|
||||||
Default: ``/dev/stderr``
|
Default: ``/dev/stderr``
|
||||||
|
|
||||||
.. option:: --errorlog-syslog
|
.. option:: --errorlog-syslog
|
||||||
|
|
||||||
Send error log to syslog. If this option is
|
Send error log to syslog. If this option is used,
|
||||||
used, :option:`--errorlog-file` option is ignored.
|
:option:`--errorlog-file` option is ignored.
|
||||||
|
|
||||||
.. option:: --syslog-facility=<FACILITY>
|
.. option:: --syslog-facility=<FACILITY>
|
||||||
|
|
||||||
|
@ -548,78 +545,82 @@ Logging:
|
||||||
Default: ``daemon``
|
Default: ``daemon``
|
||||||
|
|
||||||
|
|
||||||
Misc:
|
HTTP:
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
.. option:: --add-x-forwarded-for
|
.. option:: --add-x-forwarded-for
|
||||||
|
|
||||||
Append X-Forwarded-For header field to the
|
Append X-Forwarded-For header field to the downstream
|
||||||
downstream request.
|
request.
|
||||||
|
|
||||||
.. option:: --strip-incoming-x-forwarded-for
|
.. option:: --strip-incoming-x-forwarded-for
|
||||||
|
|
||||||
Strip X-Forwarded-For header field from inbound
|
Strip X-Forwarded-For header field from inbound client
|
||||||
client requests.
|
requests.
|
||||||
|
|
||||||
.. option:: --no-via
|
.. option:: --no-via
|
||||||
|
|
||||||
Don't append to Via header field. If Via header
|
Don't append to Via header field. If Via header field
|
||||||
field is received, it is left unaltered.
|
is received, it is left unaltered.
|
||||||
|
|
||||||
.. option:: --no-location-rewrite
|
.. option:: --no-location-rewrite
|
||||||
|
|
||||||
Don't rewrite location header field on
|
Don't rewrite location header field on :option:`--http2-bridge`\,
|
||||||
:option:`--http2-bridge`\, :option:`--client` and default mode. For
|
:option:`--client` and default mode. For :option:`\--http2-proxy` and
|
||||||
:option:`--http2-proxy` and :option:`\--client-proxy` mode, location
|
:option:`--client-proxy` mode, location header field will not be
|
||||||
header field will not be altered regardless of
|
altered regardless of this option.
|
||||||
this option.
|
|
||||||
|
|
||||||
.. option:: --altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
.. option:: --altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
||||||
|
|
||||||
Specify protocol ID, port, host and origin of
|
Specify protocol ID, port, host and origin of
|
||||||
alternative service. <HOST> and <ORIGIN> are
|
alternative service. <HOST> and <ORIGIN> are optional.
|
||||||
optional. They are advertised in alt-svc header
|
They are advertised in alt-svc header field or HTTP/2
|
||||||
field or HTTP/2 ALTSVC frame. This option can be
|
ALTSVC frame. This option can be used multiple times to
|
||||||
used multiple times to specify multiple
|
specify multiple alternative services. Example:
|
||||||
alternative services. Example: :option:`--altsvc`\=h2,443
|
:option:`--altsvc`\=h2,443
|
||||||
|
|
||||||
.. option:: --add-response-header=<HEADER>
|
.. option:: --add-response-header=<HEADER>
|
||||||
|
|
||||||
Specify additional header field to add to
|
Specify additional header field to add to response
|
||||||
response header set. This option just appends
|
header set. This option just appends header field and
|
||||||
header field and won't replace anything already
|
won't replace anything already set. This option can be
|
||||||
set. This option can be used several times to
|
used several times to specify multiple header fields.
|
||||||
specify multiple header fields.
|
|
||||||
Example: :option:`--add-response-header`\="foo: bar"
|
Example: :option:`--add-response-header`\="foo: bar"
|
||||||
|
|
||||||
|
|
||||||
|
Debug:
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
.. option:: --frontend-http2-dump-request-header=<PATH>
|
.. option:: --frontend-http2-dump-request-header=<PATH>
|
||||||
|
|
||||||
Dumps request headers received by HTTP/2 frontend
|
Dumps request headers received by HTTP/2 frontend to the
|
||||||
to the file denoted in <PATH>. The output is
|
file denoted in <PATH>. The output is done in HTTP/1
|
||||||
done in HTTP/1 header field format and each
|
header field format and each header block is followed by
|
||||||
header block is followed by an empty line. This
|
an empty line. This option is not thread safe and MUST
|
||||||
option is not thread safe and MUST NOT be used
|
NOT be used with option :option:`-n`\<N>, where <N> >= 2.
|
||||||
with option :option:`-n`\<N>, where <N> >= 2.
|
|
||||||
|
|
||||||
.. option:: --frontend-http2-dump-response-header=<PATH>
|
.. option:: --frontend-http2-dump-response-header=<PATH>
|
||||||
|
|
||||||
Dumps response headers sent from HTTP/2 frontend
|
Dumps response headers sent from HTTP/2 frontend to the
|
||||||
to the file denoted in <PATH>. The output is
|
file denoted in <PATH>. The output is done in HTTP/1
|
||||||
done in HTTP/1 header field format and each
|
header field format and each header block is followed by
|
||||||
header block is followed by an empty line. This
|
an empty line. This option is not thread safe and MUST
|
||||||
option is not thread safe and MUST NOT be used
|
NOT be used with option :option:`-n`\<N>, where <N> >= 2.
|
||||||
with option :option:`-n`\<N>, where <N> >= 2.
|
|
||||||
|
|
||||||
.. option:: -o, --frontend-frame-debug
|
.. option:: -o, --frontend-frame-debug
|
||||||
|
|
||||||
Print HTTP/2 frames in frontend to stderr. This
|
Print HTTP/2 frames in frontend to stderr. This option
|
||||||
option is not thread safe and MUST NOT be used
|
is not thread safe and MUST NOT be used with option
|
||||||
with option :option:`-n`\=N, where N >= 2.
|
:option:`-n`\=N, where N >= 2.
|
||||||
|
|
||||||
|
|
||||||
|
Process:
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
.. option:: -D, --daemon
|
.. option:: -D, --daemon
|
||||||
|
|
||||||
Run in a background. If :option:`-D` is used, the current
|
Run in a background. If :option:`-D` is used, the current working
|
||||||
working directory is changed to '*/*'.
|
directory is changed to '*/*'.
|
||||||
|
|
||||||
.. option:: --pid-file=<PATH>
|
.. option:: --pid-file=<PATH>
|
||||||
|
|
||||||
|
@ -627,8 +628,12 @@ Misc:
|
||||||
|
|
||||||
.. option:: --user=<USER>
|
.. option:: --user=<USER>
|
||||||
|
|
||||||
Run this program as <USER>. This option is
|
Run this program as <USER>. This option is intended to
|
||||||
intended to be used to drop root privileges.
|
be used to drop root privileges.
|
||||||
|
|
||||||
|
|
||||||
|
Misc:
|
||||||
|
~~~~~
|
||||||
|
|
||||||
.. option:: --conf=<PATH>
|
.. option:: --conf=<PATH>
|
||||||
|
|
||||||
|
@ -644,6 +649,10 @@ Misc:
|
||||||
|
|
||||||
Print this help and exit.
|
Print this help and exit.
|
||||||
|
|
||||||
|
|
||||||
|
The <SIZE> argument is an integer and an optional unit (e.g., 10K is
|
||||||
|
10 * 1024). Units are K, M and G (powers of 1024).
|
||||||
|
|
||||||
FILES
|
FILES
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue