NGHTTPD(1)

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.

--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).

SEE ALSO

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

AUTHOR
Tatsuhiro Tsujikawa

COPYRIGHT
2012, 2015, Tatsuhiro Tsujikawa