Update man pages

This commit is contained in:
Tatsuhiro Tsujikawa
2015-07-11 12:45:23 +09:00
parent c2e4ed9624
commit d62e4dbc5e
7 changed files with 144 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "NGHTTPX" "1" "June 27, 2015" "1.0.5" "nghttp2"
.TH "NGHTTPX" "1" "July 11, 2015" "1.0.6-DEV" "nghttp2"
.SH NAME
nghttpx \- HTTP/2 experimental proxy
.
@@ -55,17 +55,66 @@ The options are categorized into several groups.
.SS Connections
.INDENT 0.0
.TP
.B \-b, \-\-backend=<HOST,PORT>
.B \-b, \-\-backend=<HOST>,<PORT>[;<PATTERN>[:...]]
Set backend host and port. The multiple backend
addresses are accepted by repeating this option. UNIX
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
Optionally, if <PATTERN>s are given, the backend address
is only used if request matches the pattern. If \fI\%\-s\fP, \fI\%\-p\fP,
\fI\%\-\-client\fP or \fI\%\-\-http2\-bridge\fP is used, <PATTERN>s are
ignored. The pattern matching is closely designed to
ServeMux in net/http package of Go programming language.
<PATTERN> consists of path, host + path or just host.
The path must starts with "\fI/\fP". If it ends with "\fI/\fP", it
matches to the request path whose prefix is the path.
To deal with the request to the directory without
trailing slash, pattern which ends with "\fI/\fP" also matches
the path if pattern == path + "\fI/\fP" (e.g., pattern "\fI/foo/\fP"
matches path "\fI/foo\fP"). If it does not end with "\fI/\fP", it
performs exact match against the request path. If host
is given, it performs exact match against the request
host. If host alone is given, "\fI/\fP" is appended to it, so
that it matches all paths under the host (e.g.,
specifying "nghttp2.org" equals to "nghttp2.org/").
.sp
Longer patterns take precedence over shorter ones,
breaking a tie by the order of the appearance in the
configuration.
.sp
If <PATTERN> is omitted, "\fI/\fP" is used as pattern, which
matches all paths (catch\-all pattern). The catch\-all
backend must be given.
.sp
When doing a match, nghttpx made some normalization to
pattern, request host and path. For host part, they are
converted to lower case. For path part, percent\-encoded
unreserved characters defined in RFC 3986 are decoded,
and any dot\-segments (".." and ".") are resolved and
removed.
.sp
For example, \fI\%\-b\fP\(aq127.0.0.1,8080;nghttp2.org/httpbin/\(aq
matches the request host "nghttp2.org" and the request
path "\fI/httpbin/get\fP", but does not match the request host
"nghttp2.org" and the request path "\fI/index.html\fP".
.sp
The multiple <PATTERN>s can be specified, delimiting
them by ":". Specifying
\fI\%\-b\fP\(aq127.0.0.1,8080;nghttp2.org:www.nghttp2.org\(aq has the
same effect to specify \fI\%\-b\fP\(aq127.0.0.1,8080;nghttp2.org\(aq
and \fI\%\-b\fP\(aq127.0.0.1,8080:www.nghttp2.org\(aq.
.sp
The backend addresses sharing same <PATTERN> are grouped
together forming load balancing group. Since ";" and
":" are used as delimiter, <PATTERN> must not contain
these characters.
.sp
Default: \fB127.0.0.1,80\fP
.UNINDENT
.INDENT 0.0
.TP
.B \-f, \-\-frontend=<HOST,PORT>
.B \-f, \-\-frontend=<HOST>,<PORT>
Set frontend host and port. If <HOST> is \(aq*\(aq, it
assumes all addresses including both IPv4 and IPv6.
UNIX domain socket can be specified by prefixing path
@@ -626,6 +675,15 @@ $pid: PID of the running process.
$alpn: ALPN identifier of the protocol which generates
the response. For HTTP/1, ALPN is always http/1.1,
regardless of minor version.
.IP \(bu 2
$ssl_cipher: cipher used for SSL/TLS connection.
.IP \(bu 2
$ssl_protocol: protocol for SSL/TLS connection.
.IP \(bu 2
$ssl_session_id: session ID for SSL/TLS connection.
.IP \(bu 2
$ssl_session_reused: "r" if SSL/TLS session was
reused. Otherwise, "."
.UNINDENT
.sp
Default: \fB$remote_addr \- \- [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"\fP