Update man pages
This commit is contained in:
parent
a59445ccff
commit
1b9b03b68f
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "H2LOAD" "1" "February 25, 2016" "1.8.0" "nghttp2"
|
.TH "H2LOAD" "1" "February 29, 2016" "1.9.0-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
h2load \- HTTP/2 benchmarking tool
|
h2load \- HTTP/2 benchmarking tool
|
||||||
.
|
.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTP" "1" "February 25, 2016" "1.8.0" "nghttp2"
|
.TH "NGHTTP" "1" "February 29, 2016" "1.9.0-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttp \- HTTP/2 client
|
nghttp \- HTTP/2 client
|
||||||
.
|
.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTPD" "1" "February 25, 2016" "1.8.0" "nghttp2"
|
.TH "NGHTTPD" "1" "February 29, 2016" "1.9.0-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttpd \- HTTP/2 server
|
nghttpd \- HTTP/2 server
|
||||||
.
|
.
|
||||||
|
|
200
doc/nghttpx.1
200
doc/nghttpx.1
|
@ -1,6 +1,6 @@
|
||||||
.\" Man page generated from reStructuredText.
|
.\" Man page generated from reStructuredText.
|
||||||
.
|
.
|
||||||
.TH "NGHTTPX" "1" "February 25, 2016" "1.8.0" "nghttp2"
|
.TH "NGHTTPX" "1" "February 29, 2016" "1.9.0-DEV" "nghttp2"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
nghttpx \- HTTP/2 proxy
|
nghttpx \- HTTP/2 proxy
|
||||||
.
|
.
|
||||||
|
@ -39,15 +39,15 @@ 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 unless \fI\%\-p\fP,
|
Set path to server\(aqs private key. Required unless
|
||||||
\fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are given.
|
\fI\%\-\-frontend\-no\-tls\fP are given.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B <CERT>
|
.B <CERT>
|
||||||
Set path to server\(aqs certificate. Required unless \fI\%\-p\fP,
|
Set path to server\(aqs certificate. Required unless
|
||||||
\fI\%\-\-client\fP or \fI\%\-\-frontend\-no\-tls\fP are given. To make OCSP
|
\fI\%\-\-frontend\-no\-tls\fP are given. To make OCSP stapling
|
||||||
stapling work, this must be absolute path.
|
work, this must be an absolute path.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.sp
|
.sp
|
||||||
|
@ -55,38 +55,39 @@ The options are categorized into several groups.
|
||||||
.SS Connections
|
.SS Connections
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-b, \-\-backend=(<HOST>,<PORT>|unix:<PATH>)[;<PATTERN>[:...]]
|
.B \-b, \-\-backend=(<HOST>,<PORT>|unix:<PATH>)[;[<PATTERN>[:...]][;proto=<PROTO>]]
|
||||||
Set backend host and port. The multiple backend
|
Set backend host and port. The multiple backend
|
||||||
addresses are accepted by repeating this option. UNIX
|
addresses are accepted by repeating this option. UNIX
|
||||||
domain socket can be specified by prefixing path name
|
domain socket can be specified by prefixing path name
|
||||||
with "unix:" (e.g., unix:/var/run/backend.sock).
|
with "unix:" (e.g., unix:/var/run/backend.sock).
|
||||||
.sp
|
.sp
|
||||||
Optionally, if <PATTERN>s are given, the backend address
|
Optionally, if <PATTERN>s are given, the backend address
|
||||||
is only used if request matches the pattern. If \fI\%\-s\fP or
|
is only used if request matches the pattern. If
|
||||||
\fI\%\-p\fP is used, <PATTERN>s are ignored. The pattern
|
\fI\%\-\-http2\-proxy\fP is used, <PATTERN>s are ignored. The
|
||||||
matching is closely designed to ServeMux in net/http
|
pattern matching is closely designed to ServeMux in
|
||||||
package of Go programming language. <PATTERN> consists
|
net/http package of Go programming language. <PATTERN>
|
||||||
of path, host + path or just host. The path must start
|
consists of path, host + path or just host. The path
|
||||||
with "\fI/\fP". If it ends with "\fI/\fP", it matches all request
|
must start with "\fI/\fP". If it ends with "\fI/\fP", it matches
|
||||||
path in its subtree. To deal with the request to the
|
all request path in its subtree. To deal with the
|
||||||
directory without trailing slash, the path which ends
|
request to the directory without trailing slash, the
|
||||||
with "\fI/\fP" also matches the request path which only lacks
|
path which ends with "\fI/\fP" also matches the request path
|
||||||
trailing \(aq\fI/\fP\(aq (e.g., path "\fI/foo/\fP" matches request path
|
which only lacks trailing \(aq\fI/\fP\(aq (e.g., path "\fI/foo/\fP"
|
||||||
"\fI/foo\fP"). If it does not end with "\fI/\fP", it performs exact
|
matches request path "\fI/foo\fP"). If it does not end with
|
||||||
match against the request path. If host is given, it
|
"\fI/\fP", it performs exact match against the request path.
|
||||||
performs exact match against the request host. If host
|
If host is given, it performs exact match against the
|
||||||
alone is given, "\fI/\fP" is appended to it, so that it
|
request host. If host alone is given, "\fI/\fP" is appended
|
||||||
matches all request paths under the host (e.g.,
|
to it, so that it matches all request paths under the
|
||||||
specifying "nghttp2.org" equals to "nghttp2.org/").
|
host (e.g., specifying "nghttp2.org" equals to
|
||||||
|
"nghttp2.org/").
|
||||||
.sp
|
.sp
|
||||||
Patterns with host take precedence over patterns with
|
Patterns with host take precedence over patterns with
|
||||||
just path. Then, longer patterns take precedence over
|
just path. Then, longer patterns take precedence over
|
||||||
shorter ones, breaking a tie by the order of the
|
shorter ones, breaking a tie by the order of the
|
||||||
appearance in the configuration.
|
appearance in the configuration.
|
||||||
.sp
|
.sp
|
||||||
If <PATTERN> is omitted, "\fI/\fP" is used as pattern, which
|
If <PATTERN> is omitted or empty string, "\fI/\fP" is used as
|
||||||
matches all request paths (catch\-all pattern). The
|
pattern, which matches all request paths (catch\-all
|
||||||
catch\-all backend must be given.
|
pattern). The catch\-all backend must be given.
|
||||||
.sp
|
.sp
|
||||||
When doing a match, nghttpx made some normalization to
|
When doing a match, nghttpx made some normalization to
|
||||||
pattern, request host and path. For host part, they are
|
pattern, request host and path. For host part, they are
|
||||||
|
@ -109,6 +110,15 @@ and \fI\%\-b\fP\(aq127.0.0.1,8080;www.nghttp2.org\(aq.
|
||||||
The backend addresses sharing same <PATTERN> are grouped
|
The backend addresses sharing same <PATTERN> are grouped
|
||||||
together forming load balancing group.
|
together forming load balancing group.
|
||||||
.sp
|
.sp
|
||||||
|
Optionally, backend application protocol can be
|
||||||
|
specified in <PROTO>. All that share the same <PATTERN>
|
||||||
|
must have the same <PROTO> value if it is given.
|
||||||
|
<PROTO> should be one of the following list without
|
||||||
|
quotes: "h2", "http/1.1". The default value of <PROTO>
|
||||||
|
is "http/1.1". Note that usually "h2" refers to HTTP/2
|
||||||
|
over TLS. But in this option, it may mean HTTP/2 over
|
||||||
|
cleartext TCP unless \fI\%\-\-backend\-tls\fP is used.
|
||||||
|
.sp
|
||||||
Since ";" and ":" are used as delimiter, <PATTERN> must
|
Since ";" and ":" are used as delimiter, <PATTERN> must
|
||||||
not contain these characters. Since ";" has special
|
not contain these characters. Since ";" has special
|
||||||
meaning in shell, the option value must be quoted.
|
meaning in shell, the option value must be quoted.
|
||||||
|
@ -167,19 +177,8 @@ Accept PROXY protocol version 1 on frontend connection.
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-no\-tls
|
.B \-\-backend\-tls
|
||||||
Disable SSL/TLS on backend connections. For HTTP/2
|
Enable SSL/TLS on backend connections.
|
||||||
backend connections, TLS is enabled by default. For
|
|
||||||
HTTP/1 backend connections, TLS is disabled by default,
|
|
||||||
and can be enabled by \fI\%\-\-backend\-http1\-tls\fP option. If
|
|
||||||
both \fI\%\-\-backend\-no\-tls\fP and \fI\%\-\-backend\-http1\-tls\fP options
|
|
||||||
are used, \fI\%\-\-backend\-no\-tls\fP has the precedence.
|
|
||||||
.UNINDENT
|
|
||||||
.INDENT 0.0
|
|
||||||
.TP
|
|
||||||
.B \-\-backend\-http1\-tls
|
|
||||||
Enable SSL/TLS on backend HTTP/1 connections. See also
|
|
||||||
\fI\%\-\-backend\-no\-tls\fP option.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Performance
|
.SS Performance
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -269,37 +268,27 @@ Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-backend\-http2\-connections\-per\-worker=<N>
|
.B \-\-backend\-connections\-per\-host=<N>
|
||||||
Set maximum number of backend HTTP/2 physical
|
Set maximum number of backend concurrent connections
|
||||||
connections per worker. If pattern is used in \fI\%\-b\fP
|
(and/or streams in case of HTTP/2) per origin host.
|
||||||
option, this limit is applied to each pattern group (in
|
This option is meaningful when \fI\%\-\-http2\-proxy\fP option is
|
||||||
other words, each pattern group can have maximum <N>
|
used. The origin host is determined by authority
|
||||||
HTTP/2 connections). The default value is 0, which
|
portion of request URI (or :authority header field for
|
||||||
means that the value is adjusted to the number of
|
HTTP/2). To limit the number of connections per
|
||||||
backend addresses. If pattern is used, this adjustment
|
frontend for default mode, use
|
||||||
is done for each pattern group.
|
\fI\%\-\-backend\-connections\-per\-frontend\fP\&.
|
||||||
.UNINDENT
|
|
||||||
.INDENT 0.0
|
|
||||||
.TP
|
|
||||||
.B \-\-backend\-http1\-connections\-per\-host=<N>
|
|
||||||
Set maximum number of backend concurrent HTTP/1
|
|
||||||
connections per origin host. This option is meaningful
|
|
||||||
when \fI\%\-s\fP option is used. The origin host is determined
|
|
||||||
by authority portion of request URI (or :authority
|
|
||||||
header field for HTTP/2). To limit the number of
|
|
||||||
connections per frontend for default mode, use
|
|
||||||
\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=<N>
|
.B \-\-backend\-connections\-per\-frontend=<N>
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent connections
|
||||||
connections per frontend. This option is only used for
|
(and/or streams in case of HTTP/2) per frontend. This
|
||||||
default mode. 0 means unlimited. To limit the number
|
option is only used for default mode. 0 means
|
||||||
of connections per host for HTTP/2 or SPDY proxy mode
|
unlimited. To limit the number of connections per host
|
||||||
(\-s option), use \fI\%\-\-backend\-http1\-connections\-per\-host\fP\&.
|
with \fI\%\-\-http2\-proxy\fP option, use
|
||||||
|
\fI\%\-\-backend\-connections\-per\-host\fP\&.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB0\fP
|
Default: \fB0\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -700,9 +689,19 @@ the complete HTTP/2 cipher suites black list.
|
||||||
.SS HTTP/2 and SPDY
|
.SS HTTP/2 and SPDY
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-c, \-\-http2\-max\-concurrent\-streams=<N>
|
.B \-c, \-\-frontend\-http2\-max\-concurrent\-streams=<N>
|
||||||
Set the maximum number of the concurrent streams in one
|
Set the maximum number of the concurrent streams in one
|
||||||
HTTP/2 and SPDY session.
|
frontend HTTP/2 and SPDY session.
|
||||||
|
.sp
|
||||||
|
Default: \(ga\(ga 100\(ga\(ga
|
||||||
|
.UNINDENT
|
||||||
|
.INDENT 0.0
|
||||||
|
.TP
|
||||||
|
.B \-\-backend\-http2\-max\-concurrent\-streams=<N>
|
||||||
|
Set the maximum number of the concurrent streams in one
|
||||||
|
backend HTTP/2 session. This sets maximum number of
|
||||||
|
concurrent opened pushed streams. The maximum number of
|
||||||
|
concurrent requests are set by a remote server.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB100\fP
|
Default: \fB100\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -743,7 +742,7 @@ Default: \fB16\fP
|
||||||
Sets the per\-connection window size of HTTP/2 backend
|
Sets the per\-connection window size of HTTP/2 backend
|
||||||
connection to 2**<N>\-1.
|
connection to 2**<N>\-1.
|
||||||
.sp
|
.sp
|
||||||
Default: \fB16\fP
|
Default: \fB30\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -764,11 +763,10 @@ protocol security.
|
||||||
Disable HTTP/2 server push. Server push is supported by
|
Disable HTTP/2 server push. Server push is supported by
|
||||||
default mode and HTTP/2 frontend via Link header field.
|
default mode and HTTP/2 frontend via Link header field.
|
||||||
It is also supported if both frontend and backend are
|
It is also supported if both frontend and backend are
|
||||||
HTTP/2 (which implies \fI\%\-\-http2\-bridge\fP or \fI\%\-\-client\fP mode).
|
HTTP/2 in default mode. In this case, server push from
|
||||||
In this case, server push from backend session is
|
backend session is relayed to frontend, and server push
|
||||||
relayed to frontend, and server push via Link header
|
via Link header field is also supported. SPDY frontend
|
||||||
field is also supported. HTTP SPDY frontend does not
|
does not support server push.
|
||||||
support server push.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Mode
|
.SS Mode
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -777,39 +775,13 @@ support server push.
|
||||||
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
||||||
\fI\%\-\-frontend\-no\-tls\fP is used, accept HTTP/2 and HTTP/1.1.
|
\fI\%\-\-frontend\-no\-tls\fP is used, accept HTTP/2 and HTTP/1.1.
|
||||||
The incoming HTTP/1.1 connection can be upgraded to
|
The incoming HTTP/1.1 connection can be upgraded to
|
||||||
HTTP/2 through HTTP Upgrade. The protocol to the
|
HTTP/2 through HTTP Upgrade.
|
||||||
backend is HTTP/1.1.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-s, \-\-http2\-proxy
|
.B \-s, \-\-http2\-proxy
|
||||||
Like default mode, but enable secure proxy mode.
|
Like default mode, but enable forward proxy. This is so
|
||||||
.UNINDENT
|
called HTTP/2 proxy mode.
|
||||||
.INDENT 0.0
|
|
||||||
.TP
|
|
||||||
.B \-\-http2\-bridge
|
|
||||||
Like default mode, but communicate with the backend in
|
|
||||||
HTTP/2 over SSL/TLS. Thus the incoming all connections
|
|
||||||
are converted to HTTP/2 connection and relayed to the
|
|
||||||
backend. See \fI\%\-\-backend\-http\-proxy\-uri\fP option if you are
|
|
||||||
behind the proxy and want to connect to the outside
|
|
||||||
HTTP/2 proxy.
|
|
||||||
.UNINDENT
|
|
||||||
.INDENT 0.0
|
|
||||||
.TP
|
|
||||||
.B \-\-client
|
|
||||||
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
|
||||||
incoming HTTP/1.1 connection can be upgraded to HTTP/2
|
|
||||||
connection through HTTP Upgrade. The protocol to the
|
|
||||||
backend is HTTP/2. To use nghttpx as a forward proxy,
|
|
||||||
use \fI\%\-p\fP option instead.
|
|
||||||
.UNINDENT
|
|
||||||
.INDENT 0.0
|
|
||||||
.TP
|
|
||||||
.B \-p, \-\-client\-proxy
|
|
||||||
Like \fI\%\-\-client\fP option, but it also requires the request
|
|
||||||
path from frontend must be an absolute URI, suitable for
|
|
||||||
use as a forward proxy.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.SS Logging
|
.SS Logging
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -975,18 +947,16 @@ is received, it is left unaltered.
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-no\-location\-rewrite
|
.B \-\-no\-location\-rewrite
|
||||||
Don\(aqt rewrite location header field on \fI\%\-\-http2\-bridge\fP,
|
Don\(aqt rewrite location header field in default mode.
|
||||||
\fI\%\-\-client\fP and default mode. For \fI\%\-\-http2\-proxy\fP and
|
When \fI\%\-\-http2\-proxy\fP is used, location header field will
|
||||||
\fI\%\-\-client\-proxy\fP mode, location header field will not be
|
not be altered regardless of this option.
|
||||||
altered regardless of this option.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
.B \-\-host\-rewrite
|
.B \-\-host\-rewrite
|
||||||
Rewrite host and :authority header fields on
|
Rewrite host and :authority header fields in default
|
||||||
\fI\%\-\-http2\-bridge\fP, \fI\%\-\-client\fP and default mode. For
|
mode. When \fI\%\-\-http2\-proxy\fP is used, these headers will
|
||||||
\fI\%\-\-http2\-proxy\fP and \fI\%\-\-client\-proxy\fP mode, these headers
|
not be altered regardless of this option.
|
||||||
will not be altered regardless of this option.
|
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.TP
|
.TP
|
||||||
|
@ -1258,12 +1228,12 @@ associated stream\(aqs status code must be 200.
|
||||||
This limitation may be loosened in the future release.
|
This limitation may be loosened in the future release.
|
||||||
.sp
|
.sp
|
||||||
nghttpx also supports server push if both frontend and backend are
|
nghttpx also supports server push if both frontend and backend are
|
||||||
HTTP/2 (which implies \fI\%\-\-http2\-bridge\fP or \fI\%\-\-client\fP).
|
HTTP/2 in default mode. In this case, in addition to server push via
|
||||||
In this case, in addition to server push via Link header field, server
|
Link header field, server push from backend is forwarded to frontend
|
||||||
push from backend is relayed to frontend HTTP/2 session.
|
HTTP/2 session.
|
||||||
.sp
|
.sp
|
||||||
HTTP/2 server push will be disabled if \fI\%\-\-http2\-proxy\fP or
|
HTTP/2 server push will be disabled if \fI\%\-\-http2\-proxy\fP is
|
||||||
\fI\%\-\-client\-proxy\fP is used.
|
used.
|
||||||
.SH UNIX DOMAIN SOCKET
|
.SH UNIX DOMAIN SOCKET
|
||||||
.sp
|
.sp
|
||||||
nghttpx supports UNIX domain socket with a filename for both frontend
|
nghttpx supports UNIX domain socket with a filename for both frontend
|
||||||
|
|
|
@ -19,14 +19,14 @@ 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`\,
|
Set path to server's private key. Required unless
|
||||||
:option:`--client` or :option:`\--frontend-no-tls` are given.
|
:option:`--frontend-no-tls` are given.
|
||||||
|
|
||||||
.. describe:: <CERT>
|
.. describe:: <CERT>
|
||||||
|
|
||||||
Set path to server's certificate. Required unless :option:`-p`\,
|
Set path to server's certificate. Required unless
|
||||||
:option:`--client` or :option:`\--frontend-no-tls` are given. To make OCSP
|
:option:`--frontend-no-tls` are given. To make OCSP stapling
|
||||||
stapling work, this must be absolute path.
|
work, this must be an absolute path.
|
||||||
|
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
|
@ -37,7 +37,7 @@ The options are categorized into several groups.
|
||||||
Connections
|
Connections
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
.. option:: -b, --backend=(<HOST>,<PORT>|unix:<PATH>)[;<PATTERN>[:...]]
|
.. option:: -b, --backend=(<HOST>,<PORT>|unix:<PATH>)[;[<PATTERN>[:...]][;proto=<PROTO>]]
|
||||||
|
|
||||||
Set backend host and port. The multiple backend
|
Set backend host and port. The multiple backend
|
||||||
addresses are accepted by repeating this option. UNIX
|
addresses are accepted by repeating this option. UNIX
|
||||||
|
@ -45,31 +45,32 @@ Connections
|
||||||
with "unix:" (e.g., unix:/var/run/backend.sock).
|
with "unix:" (e.g., unix:/var/run/backend.sock).
|
||||||
|
|
||||||
Optionally, if <PATTERN>s are given, the backend address
|
Optionally, if <PATTERN>s are given, the backend address
|
||||||
is only used if request matches the pattern. If :option:`-s` or
|
is only used if request matches the pattern. If
|
||||||
:option:`-p` is used, <PATTERN>s are ignored. The pattern
|
:option:`--http2-proxy` is used, <PATTERN>s are ignored. The
|
||||||
matching is closely designed to ServeMux in net/http
|
pattern matching is closely designed to ServeMux in
|
||||||
package of Go programming language. <PATTERN> consists
|
net/http package of Go programming language. <PATTERN>
|
||||||
of path, host + path or just host. The path must start
|
consists of path, host + path or just host. The path
|
||||||
with "*/*". If it ends with "*/*", it matches all request
|
must start with "*/*". If it ends with "*/*", it matches
|
||||||
path in its subtree. To deal with the request to the
|
all request path in its subtree. To deal with the
|
||||||
directory without trailing slash, the path which ends
|
request to the directory without trailing slash, the
|
||||||
with "*/*" also matches the request path which only lacks
|
path which ends with "*/*" also matches the request path
|
||||||
trailing '*/*' (e.g., path "*/foo/*" matches request path
|
which only lacks trailing '*/*' (e.g., path "*/foo/*"
|
||||||
"*/foo*"). If it does not end with "*/*", it performs exact
|
matches request path "*/foo*"). If it does not end with
|
||||||
match against the request path. If host is given, it
|
"*/*", it performs exact match against the request path.
|
||||||
performs exact match against the request host. If host
|
If host is given, it performs exact match against the
|
||||||
alone is given, "*/*" is appended to it, so that it
|
request host. If host alone is given, "*/*" is appended
|
||||||
matches all request paths under the host (e.g.,
|
to it, so that it matches all request paths under the
|
||||||
specifying "nghttp2.org" equals to "nghttp2.org/").
|
host (e.g., specifying "nghttp2.org" equals to
|
||||||
|
"nghttp2.org/").
|
||||||
|
|
||||||
Patterns with host take precedence over patterns with
|
Patterns with host take precedence over patterns with
|
||||||
just path. Then, longer patterns take precedence over
|
just path. Then, longer patterns take precedence over
|
||||||
shorter ones, breaking a tie by the order of the
|
shorter ones, breaking a tie by the order of the
|
||||||
appearance in the configuration.
|
appearance in the configuration.
|
||||||
|
|
||||||
If <PATTERN> is omitted, "*/*" is used as pattern, which
|
If <PATTERN> is omitted or empty string, "*/*" is used as
|
||||||
matches all request paths (catch-all pattern). The
|
pattern, which matches all request paths (catch-all
|
||||||
catch-all backend must be given.
|
pattern). The catch-all backend must be given.
|
||||||
|
|
||||||
When doing a match, nghttpx made some normalization to
|
When doing a match, nghttpx made some normalization to
|
||||||
pattern, request host and path. For host part, they are
|
pattern, request host and path. For host part, they are
|
||||||
|
@ -92,6 +93,15 @@ Connections
|
||||||
The backend addresses sharing same <PATTERN> are grouped
|
The backend addresses sharing same <PATTERN> are grouped
|
||||||
together forming load balancing group.
|
together forming load balancing group.
|
||||||
|
|
||||||
|
Optionally, backend application protocol can be
|
||||||
|
specified in <PROTO>. All that share the same <PATTERN>
|
||||||
|
must have the same <PROTO> value if it is given.
|
||||||
|
<PROTO> should be one of the following list without
|
||||||
|
quotes: "h2", "http/1.1". The default value of <PROTO>
|
||||||
|
is "http/1.1". Note that usually "h2" refers to HTTP/2
|
||||||
|
over TLS. But in this option, it may mean HTTP/2 over
|
||||||
|
cleartext TCP unless :option:`--backend-tls` is used.
|
||||||
|
|
||||||
Since ";" and ":" are used as delimiter, <PATTERN> must
|
Since ";" and ":" are used as delimiter, <PATTERN> must
|
||||||
not contain these characters. Since ";" has special
|
not contain these characters. Since ";" has special
|
||||||
meaning in shell, the option value must be quoted.
|
meaning in shell, the option value must be quoted.
|
||||||
|
@ -144,19 +154,9 @@ Connections
|
||||||
|
|
||||||
Accept PROXY protocol version 1 on frontend connection.
|
Accept PROXY protocol version 1 on frontend connection.
|
||||||
|
|
||||||
.. option:: --backend-no-tls
|
.. option:: --backend-tls
|
||||||
|
|
||||||
Disable SSL/TLS on backend connections. For HTTP/2
|
Enable SSL/TLS on backend connections.
|
||||||
backend connections, TLS is enabled by default. For
|
|
||||||
HTTP/1 backend connections, TLS is disabled by default,
|
|
||||||
and can be enabled by :option:`--backend-http1-tls` option. If
|
|
||||||
both :option:`--backend-no-tls` and :option:`\--backend-http1-tls` options
|
|
||||||
are used, :option:`--backend-no-tls` has the precedence.
|
|
||||||
|
|
||||||
.. option:: --backend-http1-tls
|
|
||||||
|
|
||||||
Enable SSL/TLS on backend HTTP/1 connections. See also
|
|
||||||
:option:`--backend-no-tls` option.
|
|
||||||
|
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
|
@ -237,36 +237,27 @@ Performance
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
.. option:: --backend-http2-connections-per-worker=<N>
|
.. option:: --backend-connections-per-host=<N>
|
||||||
|
|
||||||
Set maximum number of backend HTTP/2 physical
|
Set maximum number of backend concurrent connections
|
||||||
connections per worker. If pattern is used in :option:`-b`
|
(and/or streams in case of HTTP/2) per origin host.
|
||||||
option, this limit is applied to each pattern group (in
|
This option is meaningful when :option:`--http2-proxy` option is
|
||||||
other words, each pattern group can have maximum <N>
|
used. The origin host is determined by authority
|
||||||
HTTP/2 connections). The default value is 0, which
|
portion of request URI (or :authority header field for
|
||||||
means that the value is adjusted to the number of
|
HTTP/2). To limit the number of connections per
|
||||||
backend addresses. If pattern is used, this adjustment
|
frontend for default mode, use
|
||||||
is done for each pattern group.
|
:option:`--backend-connections-per-frontend`\.
|
||||||
|
|
||||||
.. option:: --backend-http1-connections-per-host=<N>
|
|
||||||
|
|
||||||
Set maximum number of backend concurrent HTTP/1
|
|
||||||
connections per origin host. This option is meaningful
|
|
||||||
when :option:`-s` option is used. The origin host is determined
|
|
||||||
by authority portion of request URI (or :authority
|
|
||||||
header field for HTTP/2). To limit the number of
|
|
||||||
connections per frontend for default mode, use
|
|
||||||
:option:`--backend-http1-connections-per-frontend`\.
|
|
||||||
|
|
||||||
Default: ``8``
|
Default: ``8``
|
||||||
|
|
||||||
.. option:: --backend-http1-connections-per-frontend=<N>
|
.. option:: --backend-connections-per-frontend=<N>
|
||||||
|
|
||||||
Set maximum number of backend concurrent HTTP/1
|
Set maximum number of backend concurrent connections
|
||||||
connections per frontend. This option is only used for
|
(and/or streams in case of HTTP/2) per frontend. This
|
||||||
default mode. 0 means unlimited. To limit the number
|
option is only used for default mode. 0 means
|
||||||
of connections per host for HTTP/2 or SPDY proxy mode
|
unlimited. To limit the number of connections per host
|
||||||
(-s option), use :option:`--backend-http1-connections-per-host`\.
|
with :option:`--http2-proxy` option, use
|
||||||
|
:option:`--backend-connections-per-host`\.
|
||||||
|
|
||||||
Default: ``0``
|
Default: ``0``
|
||||||
|
|
||||||
|
@ -626,10 +617,19 @@ SSL/TLS
|
||||||
HTTP/2 and SPDY
|
HTTP/2 and SPDY
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. option:: -c, --http2-max-concurrent-streams=<N>
|
.. option:: -c, --frontend-http2-max-concurrent-streams=<N>
|
||||||
|
|
||||||
Set the maximum number of the concurrent streams in one
|
Set the maximum number of the concurrent streams in one
|
||||||
HTTP/2 and SPDY session.
|
frontend HTTP/2 and SPDY session.
|
||||||
|
|
||||||
|
Default: `` 100``
|
||||||
|
|
||||||
|
.. option:: --backend-http2-max-concurrent-streams=<N>
|
||||||
|
|
||||||
|
Set the maximum number of the concurrent streams in one
|
||||||
|
backend HTTP/2 session. This sets maximum number of
|
||||||
|
concurrent opened pushed streams. The maximum number of
|
||||||
|
concurrent requests are set by a remote server.
|
||||||
|
|
||||||
Default: ``100``
|
Default: ``100``
|
||||||
|
|
||||||
|
@ -665,7 +665,7 @@ HTTP/2 and SPDY
|
||||||
Sets the per-connection window size of HTTP/2 backend
|
Sets the per-connection window size of HTTP/2 backend
|
||||||
connection to 2\*\*<N>-1.
|
connection to 2\*\*<N>-1.
|
||||||
|
|
||||||
Default: ``16``
|
Default: ``30``
|
||||||
|
|
||||||
.. option:: --http2-no-cookie-crumbling
|
.. option:: --http2-no-cookie-crumbling
|
||||||
|
|
||||||
|
@ -683,11 +683,10 @@ HTTP/2 and SPDY
|
||||||
Disable HTTP/2 server push. Server push is supported by
|
Disable HTTP/2 server push. Server push is supported by
|
||||||
default mode and HTTP/2 frontend via Link header field.
|
default mode and HTTP/2 frontend via Link header field.
|
||||||
It is also supported if both frontend and backend are
|
It is also supported if both frontend and backend are
|
||||||
HTTP/2 (which implies :option:`--http2-bridge` or :option:`\--client` mode).
|
HTTP/2 in default mode. In this case, server push from
|
||||||
In this case, server push from backend session is
|
backend session is relayed to frontend, and server push
|
||||||
relayed to frontend, and server push via Link header
|
via Link header field is also supported. SPDY frontend
|
||||||
field is also supported. HTTP SPDY frontend does not
|
does not support server push.
|
||||||
support server push.
|
|
||||||
|
|
||||||
|
|
||||||
Mode
|
Mode
|
||||||
|
@ -699,35 +698,12 @@ Mode
|
||||||
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
||||||
:option:`--frontend-no-tls` is used, accept HTTP/2 and HTTP/1.1.
|
:option:`--frontend-no-tls` is used, accept HTTP/2 and HTTP/1.1.
|
||||||
The incoming HTTP/1.1 connection can be upgraded to
|
The incoming HTTP/1.1 connection can be upgraded to
|
||||||
HTTP/2 through HTTP Upgrade. The protocol to the
|
HTTP/2 through HTTP Upgrade.
|
||||||
backend is HTTP/1.1.
|
|
||||||
|
|
||||||
.. option:: -s, --http2-proxy
|
.. option:: -s, --http2-proxy
|
||||||
|
|
||||||
Like default mode, but enable secure proxy mode.
|
Like default mode, but enable forward proxy. This is so
|
||||||
|
called HTTP/2 proxy mode.
|
||||||
.. option:: --http2-bridge
|
|
||||||
|
|
||||||
Like default mode, but communicate with the backend in
|
|
||||||
HTTP/2 over SSL/TLS. Thus the incoming all connections
|
|
||||||
are converted to HTTP/2 connection and relayed to the
|
|
||||||
backend. See :option:`--backend-http-proxy-uri` option if you are
|
|
||||||
behind the proxy and want to connect to the outside
|
|
||||||
HTTP/2 proxy.
|
|
||||||
|
|
||||||
.. option:: --client
|
|
||||||
|
|
||||||
Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
|
||||||
incoming HTTP/1.1 connection can be upgraded to HTTP/2
|
|
||||||
connection through HTTP Upgrade. The protocol to the
|
|
||||||
backend is HTTP/2. To use nghttpx as a forward proxy,
|
|
||||||
use :option:`-p` option instead.
|
|
||||||
|
|
||||||
.. option:: -p, --client-proxy
|
|
||||||
|
|
||||||
Like :option:`--client` option, but it also requires the request
|
|
||||||
path from frontend must be an absolute URI, suitable for
|
|
||||||
use as a forward proxy.
|
|
||||||
|
|
||||||
|
|
||||||
Logging
|
Logging
|
||||||
|
@ -868,17 +844,15 @@ HTTP
|
||||||
|
|
||||||
.. option:: --no-location-rewrite
|
.. option:: --no-location-rewrite
|
||||||
|
|
||||||
Don't rewrite location header field on :option:`--http2-bridge`\,
|
Don't rewrite location header field in default mode.
|
||||||
:option:`--client` and default mode. For :option:`\--http2-proxy` and
|
When :option:`--http2-proxy` is used, location header field will
|
||||||
:option:`--client-proxy` mode, location header field will not be
|
not be altered regardless of this option.
|
||||||
altered regardless of this option.
|
|
||||||
|
|
||||||
.. option:: --host-rewrite
|
.. option:: --host-rewrite
|
||||||
|
|
||||||
Rewrite host and :authority header fields on
|
Rewrite host and :authority header fields in default
|
||||||
:option:`--http2-bridge`\, :option:`--client` and default mode. For
|
mode. When :option:`--http2-proxy` is used, these headers will
|
||||||
:option:`--http2-proxy` and :option:`\--client-proxy` mode, these headers
|
not be altered regardless of this option.
|
||||||
will not be altered regardless of this option.
|
|
||||||
|
|
||||||
.. option:: --altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
.. option:: --altsvc=<PROTOID,PORT[,HOST,[ORIGIN]]>
|
||||||
|
|
||||||
|
@ -1126,12 +1100,12 @@ Currently, the following restriction is applied for server push:
|
||||||
This limitation may be loosened in the future release.
|
This limitation may be loosened in the future release.
|
||||||
|
|
||||||
nghttpx also supports server push if both frontend and backend are
|
nghttpx also supports server push if both frontend and backend are
|
||||||
HTTP/2 (which implies :option:`--http2-bridge` or :option:`--client`).
|
HTTP/2 in default mode. In this case, in addition to server push via
|
||||||
In this case, in addition to server push via Link header field, server
|
Link header field, server push from backend is forwarded to frontend
|
||||||
push from backend is relayed to frontend HTTP/2 session.
|
HTTP/2 session.
|
||||||
|
|
||||||
HTTP/2 server push will be disabled if :option:`--http2-proxy` or
|
HTTP/2 server push will be disabled if :option:`--http2-proxy` is
|
||||||
:option:`--client-proxy` is used.
|
used.
|
||||||
|
|
||||||
UNIX DOMAIN SOCKET
|
UNIX DOMAIN SOCKET
|
||||||
------------------
|
------------------
|
||||||
|
|
Loading…
Reference in New Issue