4 */etc/nghttpx/nghttpx.conf*
5 The default configuration file path nghttpx searches at startup.
6 The configuration file path can be changed using :option:`--conf`
9 Those lines which are staring ``#`` are treated as comment.
11 The option name in the configuration file is the long command-line
12 option name with leading ``--`` stripped (e.g., ``frontend``). Put
13 ``=`` between option name and value. Don't put extra leading or
16 The options which do not take argument in the command-line *take*
17 argument in the configuration file. Specify ``yes`` as an argument
18 (e.g., ``http2-proxy=yes``). If other string is given, it is
21 To specify private key and certificate file which are given as
22 positional arguments in commnad-line, use ``private-key-file`` and
25 :option:`--conf` option cannot be used in the configuration file and
26 will be ignored if specified.
32 Shutdown gracefully. First accept pending connections and stop
33 accepting connection. After all connections are handled, nghttpx
40 Fork and execute nghttpx. It will execute the binary in the same
41 path with same command-line arguments and environment variables.
42 After new process comes up, sending SIGQUIT to the original process
43 to perform hot swapping.
48 nghttpx supports HTTP/2 server push in default mode. nghttpx looks
49 for Link header field (`RFC 5988
50 <http://tools.ietf.org/html/rfc5988>`_) in response headers for
51 backend server and extracts URI-reference with parameter
52 ``rel=preload`` (see `preload
53 <http://w3c.github.io/preload/#interoperability-with-http-link-header>`_)
54 and pushes those URIs to the frontend client. Here is a sample Link
55 header field to initiate server push:
59 Link: </fonts/font.woff>; rel=preload
60 Link: </css/theme.css>; rel=preload
62 Currently, the following restrictions are applied for server push:
64 1. URI-reference must not contain authority. If it exists, it is not
65 pushed. ``/fonts/font.woff`` and ``css/theme.css`` are eligible to
66 be pushed. ``https://example.org/fonts/font.woff`` and
67 ``//example.org/css/theme.css`` are not.
69 2. The associated stream must have method "GET" or "POST". The
70 associated stream's status code must be 200.
72 These limitations may be loosened in the future release.
77 :manpage:`nghttp(1)`, :manpage:`nghttpd(1)`, :manpage:`h2load(1)`