diff --git a/doc/h2load.1 b/doc/h2load.1 index 7c2d3201..1c2548af 100644 --- a/doc/h2load.1 +++ b/doc/h2load.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "H2LOAD" "1" "January 11, 2016" "1.6.1-DEV" "nghttp2" +.TH "H2LOAD" "1" "January 19, 2016" "1.6.1-DEV" "nghttp2" .SH NAME h2load \- HTTP/2 benchmarking tool . @@ -208,11 +208,16 @@ port values. .UNINDENT .INDENT 0.0 .TP -.B \-B, \-\-base\-uri= +.B \-B, \-\-base\-uri=(|unix:) Specify URI from which the scheme, host and port will be used for all requests. The base URI overrides all values defined either at the command line or inside -input files. +input files. If argument starts with "unix:", then the +rest of the argument will be treated as UNIX domain +socket path. The connection is made through that path +instead of TCP. In this case, scheme is inferred from +the first URI appeared in the command line or inside +input files as usual. .UNINDENT .INDENT 0.0 .TP diff --git a/doc/h2load.1.rst b/doc/h2load.1.rst index 85feeb63..27652644 100644 --- a/doc/h2load.1.rst +++ b/doc/h2load.1.rst @@ -171,12 +171,17 @@ OPTIONS Definition of a base URI overrides all scheme, host or port values. -.. option:: -B, --base-uri= +.. option:: -B, --base-uri=(|unix:) Specify URI from which the scheme, host and port will be used for all requests. The base URI overrides all values defined either at the command line or inside - input files. + input files. If argument starts with "unix:", then the + rest of the argument will be treated as UNIX domain + socket path. The connection is made through that path + instead of TCP. In this case, scheme is inferred from + the first URI appeared in the command line or inside + input files as usual. .. option:: --npn-list= diff --git a/doc/nghttp.1 b/doc/nghttp.1 index 4239f424..62b893ab 100644 --- a/doc/nghttp.1 +++ b/doc/nghttp.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTP" "1" "January 11, 2016" "1.6.1-DEV" "nghttp2" +.TH "NGHTTP" "1" "January 19, 2016" "1.6.1-DEV" "nghttp2" .SH NAME nghttp \- HTTP/2 client . diff --git a/doc/nghttpd.1 b/doc/nghttpd.1 index 5d5b0c99..2f9e536f 100644 --- a/doc/nghttpd.1 +++ b/doc/nghttpd.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTPD" "1" "January 11, 2016" "1.6.1-DEV" "nghttp2" +.TH "NGHTTPD" "1" "January 19, 2016" "1.6.1-DEV" "nghttp2" .SH NAME nghttpd \- HTTP/2 server . diff --git a/doc/nghttpx.1 b/doc/nghttpx.1 index 2bee266c..97ebba26 100644 --- a/doc/nghttpx.1 +++ b/doc/nghttpx.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NGHTTPX" "1" "January 11, 2016" "1.6.1-DEV" "nghttp2" +.TH "NGHTTPX" "1" "January 19, 2016" "1.6.1-DEV" "nghttp2" .SH NAME nghttpx \- HTTP/2 proxy . @@ -384,7 +384,7 @@ After accepting connection failed, connection listener is disabled for a given amount of time. Specifying 0 disables this feature. .sp -Default: \fB0\fP +Default: \fB30s\fP .UNINDENT .SS SSL/TLS .INDENT 0.0 @@ -845,6 +845,54 @@ requests. .UNINDENT .INDENT 0.0 .TP +.B \-\-add\-forwarded= +Append RFC 7239 Forwarded header field with parameters +specified in comma delimited list . The supported +parameters are "by", "for", "host", and "proto". By +default, the value of "by" and "for" parameters are +obfuscated string. See \fI\%\-\-forwarded\-by\fP and +\fI\%\-\-forwarded\-for\fP options respectively. Note that nghttpx +does not translate non\-standard X\-Forwarded\-* header +fields into Forwarded header field, and vice versa. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-strip\-incoming\-forwarded +Strip Forwarded header field from inbound client +requests. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-forwarded\-by=(obfuscated|ip|) +Specify the parameter value sent out with "by" parameter +of Forwarded header field. If "obfuscated" is given, +the string is randomly generated at startup. If "ip" is +given, the interface address of the connection, +including port number, is sent with "by" parameter. +User can also specify the static obfuscated string. The +limitation is that it must starts with "_", and only +consists of character set [A\-Za\-z0\-9._\-], as described +in RFC 7239. +.sp +Default: \fBobfuscated\fP +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-forwarded\-for=(obfuscated|ip|) +Specify the parameter value sent out with "for" +parameter of Forwarded header field. If "obfuscated" is +given, the string is randomly generated for each client +connection. If "ip" is given, the remote client address +of the connection, without port number, is sent with +"for" parameter. User can also specify the static +obfuscated string. The limitation is that it must +starts with "_", and only consists of character set +[A\-Za\-z0\-9._\-], as described in RFC 7239. +.sp +Default: \fBobfuscated\fP +.UNINDENT +.INDENT 0.0 +.TP .B \-\-no\-via Don\(aqt append to Via header field. If Via header field is received, it is left unaltered. @@ -1010,6 +1058,34 @@ option name with leading \fB\-\-\fP stripped (e.g., \fBfrontend\fP). Put \fB=\fP between option name and value. Don\(aqt put extra leading or trailing spaces. .sp +When specifying arguments including characters which have special +meaning to a shell, we usually use quotes so that shell does not +interpret them. When writing this configuration file, quotes for +this purpose must not be used. For example, specify additional +request header field, do this: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +add\-request\-header=foo: bar +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +instead of: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +add\-request\-header="foo: bar" +.ft P +.fi +.UNINDENT +.UNINDENT +.sp The options which do not take argument in the command\-line \fItake\fP argument in the configuration file. Specify \fByes\fP as an argument (e.g., \fBhttp2\-proxy=yes\fP). If other string is given, it is diff --git a/doc/nghttpx.1.rst b/doc/nghttpx.1.rst index 39d954ae..a423b924 100644 --- a/doc/nghttpx.1.rst +++ b/doc/nghttpx.1.rst @@ -341,7 +341,7 @@ Timeout is disabled for a given amount of time. Specifying 0 disables this feature. - Default: ``0`` + Default: ``30s`` SSL/TLS @@ -751,6 +751,50 @@ HTTP Strip X-Forwarded-For header field from inbound client requests. +.. option:: --add-forwarded= + + Append RFC 7239 Forwarded header field with parameters + specified in comma delimited list . The supported + parameters are "by", "for", "host", and "proto". By + default, the value of "by" and "for" parameters are + obfuscated string. See :option:`--forwarded-by` and + :option:`--forwarded-for` options respectively. Note that nghttpx + does not translate non-standard X-Forwarded-\* header + fields into Forwarded header field, and vice versa. + +.. option:: --strip-incoming-forwarded + + Strip Forwarded header field from inbound client + requests. + +.. option:: --forwarded-by=(obfuscated|ip|) + + Specify the parameter value sent out with "by" parameter + of Forwarded header field. If "obfuscated" is given, + the string is randomly generated at startup. If "ip" is + given, the interface address of the connection, + including port number, is sent with "by" parameter. + User can also specify the static obfuscated string. The + limitation is that it must starts with "_", and only + consists of character set [A-Za-z0-9._-], as described + in RFC 7239. + + Default: ``obfuscated`` + +.. option:: --forwarded-for=(obfuscated|ip|) + + Specify the parameter value sent out with "for" + parameter of Forwarded header field. If "obfuscated" is + given, the string is randomly generated for each client + connection. If "ip" is given, the remote client address + of the connection, without port number, is sent with + "for" parameter. User can also specify the static + obfuscated string. The limitation is that it must + starts with "_", and only consists of character set + [A-Za-z0-9._-], as described in RFC 7239. + + Default: ``obfuscated`` + .. option:: --no-via Don't append to Via header field. If Via header field @@ -913,6 +957,22 @@ FILES ``=`` between option name and value. Don't put extra leading or trailing spaces. + When specifying arguments including characters which have special + meaning to a shell, we usually use quotes so that shell does not + interpret them. When writing this configuration file, quotes for + this purpose must not be used. For example, specify additional + request header field, do this: + + .. code-block:: text + + add-request-header=foo: bar + + instead of: + + .. code-block:: text + + add-request-header="foo: bar" + The options which do not take argument in the command-line *take* argument in the configuration file. Specify ``yes`` as an argument (e.g., ``http2-proxy=yes``). If other string is given, it is