nghttpd (1) - Linux Manuals

nghttpd: HTTP/2 server

NAME

nghttpd - HTTP/2 server

SYNOPSIS

nghttpd [OPTION]... <PORT> [<PRIVATE_KEY> <CERT>]

DESCRIPTION

HTTP/2 server

<PORT>
Specify listening port number.
<PRIVATE_KEY>
Set path to server's private key. Required unless --no-tls is specified.
<CERT>
Set path to server's certificate. Required unless --no-tls is specified.

OPTIONS

-a, --address=<ADDR>
The address to bind to. If not specified the default IP address determined by getaddrinfo is used.
-D, --daemon
Run in a background. If -D is used, the current working directory is changed to '/'. Therefore if this option is used, -d option must be specified.
-V, --verify-client
The server sends a client certificate request. If the client did not return a certificate, the handshake is terminated. Currently, this option just requests a client certificate and does not verify it.
-d, --htdocs=<PATH>
Specify document root. If this option is not specified, the document root is the current working directory.
-v, --verbose
Print debug information such as reception/ transmission of frames and name/value pairs.
--no-tls
Disable SSL/TLS.
-c, --header-table-size=<SIZE>
Specify decoder header table size.
--color
Force colored log output.
-p, --push=<PATH>=<PUSH_PATH,...>
Push resources <PUSH_PATH>s when <PATH> is requested. This option can be used repeatedly to specify multiple push configurations. <PATH> and <PUSH_PATH>s are relative to document root. See --htdocs option. Example: -p/=/foo.png -p/doc=/bar.css
-b, --padding=<N>
Add at most <N> bytes to a frame payload as padding. Specify 0 to disable padding.
-m, --max-concurrent-streams=<N>
Set the maximum number of the concurrent streams in one HTTP/2 session.

Default: 100

-n, --workers=<N>
Set the number of worker threads.

Default: 1

-e, --error-gzip
Make error response gzipped.
--dh-param-file=<PATH>
Path to file that contains DH parameters in PEM format. Without this option, DHE cipher suites are not available.
--early-response
Start sending response when request HEADERS is received, rather than complete request is received.
--trailer=<HEADER>
Add a trailer header to a response. <HEADER> must not include pseudo header field (header field name starting with ':'). The trailer is sent only if a response has body part. Example: --trailer 'foo: bar'.
--hexdump
Display the incoming traffic in hexadecimal (Canonical hex+ASCII display). If SSL/TLS is used, decrypted data are used.
--echo-upload
Send back uploaded content if method is POST or PUT.
--mime-types-file=<PATH>
Path to file that contains MIME media types and the extensions that represent them.

Default: /etc/mime.types

--no-content-length
Don't send content-length header field.
--version
Display version information and exit.
-h, --help
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).

AUTHOR

Tatsuhiro Tsujikawa

COPYRIGHT

2012, 2015, 2016, Tatsuhiro Tsujikawa

SEE ALSO

nghttp(1), nghttpx(1), h2load(1)