From d62e4dbc5e00523fea46fc7c0197e744c17c0249 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 11 Jul 2015 12:45:23 +0900 Subject: [PATCH] Update man pages --- doc/h2load.1 | 8 +++++- doc/h2load.1.rst | 5 ++++ doc/nghttp.1 | 8 +++++- doc/nghttp.1.rst | 5 ++++ doc/nghttpd.1 | 2 +- doc/nghttpx.1 | 66 ++++++++++++++++++++++++++++++++++++++++++++--- doc/nghttpx.1.rst | 60 +++++++++++++++++++++++++++++++++++++++--- 7 files changed, 144 insertions(+), 10 deletions(-) diff --git a/doc/h2load.1 b/doc/h2load.1 index fd3009c6..0b2924f3 100644 --- a/doc/h2load.1 +++ b/doc/h2load.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "H2LOAD" "1" "June 27, 2015" "1.0.5" "nghttp2" +.TH "H2LOAD" "1" "July 11, 2015" "1.0.6-DEV" "nghttp2" .SH NAME h2load \- HTTP/2 benchmarking tool . @@ -113,6 +113,12 @@ Add/Override a header to the requests. .UNINDENT .INDENT 0.0 .TP +.B \-\-ciphers= +Set allowed cipher list. The format of the string is +described in OpenSSL ciphers(1). +.UNINDENT +.INDENT 0.0 +.TP .B \-p, \-\-no\-tls\-proto= Specify ALPN identifier of the protocol to be used when accessing http URI without SSL/TLS. diff --git a/doc/h2load.1.rst b/doc/h2load.1.rst index 21e5a425..ba1a820a 100644 --- a/doc/h2load.1.rst +++ b/doc/h2load.1.rst @@ -84,6 +84,11 @@ OPTIONS Add/Override a header to the requests. +.. option:: --ciphers= + + Set allowed cipher list. The format of the string is + described in OpenSSL ciphers(1). + .. option:: -p, --no-tls-proto= Specify ALPN identifier of the protocol to be used when diff --git a/doc/nghttp.1 b/doc/nghttp.1 index 79b42b0c..7fb39c33 100644 --- a/doc/nghttp.1 +++ b/doc/nghttp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTP" "1" "June 27, 2015" "1.0.5" "nghttp2" +.TH "NGHTTP" "1" "July 11, 2015" "1.0.6-DEV" "nghttp2" .SH NAME nghttp \- HTTP/2 experimental client . @@ -205,6 +205,12 @@ Disable server push. .UNINDENT .INDENT 0.0 .TP +.B \-\-max\-concurrent\-streams= +The number of concurrent pushed streams this client +accepts. +.UNINDENT +.INDENT 0.0 +.TP .B \-\-version Display version information and exit. .UNINDENT diff --git a/doc/nghttp.1.rst b/doc/nghttp.1.rst index 7f2449b2..b22d0c22 100644 --- a/doc/nghttp.1.rst +++ b/doc/nghttp.1.rst @@ -158,6 +158,11 @@ OPTIONS Disable server push. +.. option:: --max-concurrent-streams= + + The number of concurrent pushed streams this client + accepts. + .. option:: --version Display version information and exit. diff --git a/doc/nghttpd.1 b/doc/nghttpd.1 index 138a4bbf..5a477567 100644 --- a/doc/nghttpd.1 +++ b/doc/nghttpd.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTPD" "1" "June 27, 2015" "1.0.5" "nghttp2" +.TH "NGHTTPD" "1" "July 11, 2015" "1.0.6-DEV" "nghttp2" .SH NAME nghttpd \- HTTP/2 experimental server . diff --git a/doc/nghttpx.1 b/doc/nghttpx.1 index 4cd1c3d9..bf67f98f 100644 --- a/doc/nghttpx.1 +++ b/doc/nghttpx.1 @@ -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= +.B \-b, \-\-backend=,[;[:...]] 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 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, s are +ignored. The pattern matching is closely designed to +ServeMux in net/http package of Go programming language. + 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 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 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 are grouped +together forming load balancing group. Since ";" and +":" are used as delimiter, must not contain +these characters. .sp Default: \fB127.0.0.1,80\fP .UNINDENT .INDENT 0.0 .TP -.B \-f, \-\-frontend= +.B \-f, \-\-frontend=, Set frontend host and port. If 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 diff --git a/doc/nghttpx.1.rst b/doc/nghttpx.1.rst index ac904fb9..3132dca0 100644 --- a/doc/nghttpx.1.rst +++ b/doc/nghttpx.1.rst @@ -37,16 +37,65 @@ The options are categorized into several groups. Connections ~~~~~~~~~~~ -.. option:: -b, --backend= +.. option:: -b, --backend=,[;[:...]] 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). + + Optionally, if s are given, the backend address + is only used if request matches the pattern. If :option:`-s`\, :option:`-p`\, + :option:`--client` or :option:`\--http2-bridge` is used, s are + ignored. The pattern matching is closely designed to + ServeMux in net/http package of Go programming language. + consists of path, host + path or just host. + The path must starts with "*/*". If it ends with "*/*", 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 "*/*" also matches + the path if pattern == path + "*/*" (e.g., pattern "*/foo/*" + matches path "*/foo*"). If it does not end with "*/*", 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, "*/*" is appended to it, so + that it matches all paths under the host (e.g., + specifying "nghttp2.org" equals to "nghttp2.org/"). + + Longer patterns take precedence over shorter ones, + breaking a tie by the order of the appearance in the + configuration. + + If is omitted, "*/*" is used as pattern, which + matches all paths (catch-all pattern). The catch-all + backend must be given. + + 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. + + For example, :option:`-b`\'127.0.0.1,8080;nghttp2.org/httpbin/' + matches the request host "nghttp2.org" and the request + path "*/httpbin/get*", but does not match the request host + "nghttp2.org" and the request path "*/index.html*". + + The multiple s can be specified, delimiting + them by ":". Specifying + :option:`-b`\'127.0.0.1,8080;nghttp2.org:www.nghttp2.org' has the + same effect to specify :option:`-b`\'127.0.0.1,8080;nghttp2.org' + and :option:`-b`\'127.0.0.1,8080:www.nghttp2.org'. + + The backend addresses sharing same are grouped + together forming load balancing group. Since ";" and + ":" are used as delimiter, must not contain + these characters. Default: ``127.0.0.1,80`` -.. option:: -f, --frontend= +.. option:: -f, --frontend=, Set frontend host and port. If is '\*', it assumes all addresses including both IPv4 and IPv6. @@ -550,6 +599,11 @@ Logging * $alpn: ALPN identifier of the protocol which generates the response. For HTTP/1, ALPN is always http/1.1, regardless of minor version. + * $ssl_cipher: cipher used for SSL/TLS connection. + * $ssl_protocol: protocol for SSL/TLS connection. + * $ssl_session_id: session ID for SSL/TLS connection. + * $ssl_session_reused: "r" if SSL/TLS session was + reused. Otherwise, "." Default: ``$remote_addr - - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"``