1154 lines
66 KiB
HTML
1154 lines
66 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>nghttpx(1) — nghttp2 0.7.8-DEV documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="nghttp2 0.7.8-DEV documentation" href="index.html"/>
|
|
<link rel="next" title="h2load(1)" href="h2load.1.html"/>
|
|
<link rel="prev" title="nghttpd(1)" href="nghttpd.1.html"/>
|
|
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
<a href="index.html" class="fa fa-home"> nghttp2</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="package_README.html">nghttp2 - HTTP/2 C Library</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#development-status">Development Status</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#public-test-server">Public Test Server</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#requirements">Requirements</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#build-from-git">Build from git</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#building-documentation">Building documentation</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#unit-tests">Unit tests</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#integration-tests">Integration tests</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#client-server-and-proxy-programs">Client, Server and Proxy programs</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#benchmarking-tool">Benchmarking tool</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#hpack-tools">HPACK tools</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#libnghttp2-asio-high-level-http-2-c-library">libnghttp2_asio: High level HTTP/2 C++ library</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#python-bindings">Python bindings</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package_README.html#contribution">Contribution</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="contribute.html">Contribution Guidelines</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="contribute.html#coding-style">Coding style</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="building-android-binary.html">Building Android binary</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="tutorial-client.html">Tutorial: HTTP/2 client</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="tutorial-client.html#libevent-client-c">libevent-client.c</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="tutorial-server.html">Tutorial: HTTP/2 server</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="tutorial-server.html#libevent-server-c">libevent-server.c</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="tutorial-hpack.html">Tutorial: HPACK API</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="tutorial-hpack.html#deflating-encoding-headers">Deflating (encoding) headers</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="tutorial-hpack.html#inflating-decoding-headers">Inflating (decoding) headers</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="tutorial-hpack.html#deflate-c">deflate.c</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="nghttp.1.html">nghttp(1)</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttp.1.html#synopsis">SYNOPSIS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttp.1.html#description">DESCRIPTION</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttp.1.html#options">OPTIONS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttp.1.html#see-also">SEE ALSO</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="nghttpd.1.html">nghttpd(1)</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpd.1.html#synopsis">SYNOPSIS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpd.1.html#description">DESCRIPTION</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpd.1.html#options">OPTIONS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpd.1.html#see-also">SEE ALSO</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="">nghttpx(1)</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#synopsis">SYNOPSIS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#description">DESCRIPTION</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#options">OPTIONS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#files">FILES</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#signals">SIGNALS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#server-push">SERVER PUSH</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#unix-domain-socket">UNIX DOMAIN SOCKET</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#see-also">SEE ALSO</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="h2load.1.html">h2load(1)</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load.1.html#synopsis">SYNOPSIS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load.1.html#description">DESCRIPTION</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load.1.html#options">OPTIONS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load.1.html#output">OUTPUT</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load.1.html#see-also">SEE ALSO</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="nghttpx-howto.html">nghttpx - HTTP/2 proxy - HOW-TO</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#default-mode">Default mode</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#http-2-proxy-mode">HTTP/2 proxy mode</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#client-mode">Client mode</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#client-proxy-mode">Client proxy mode</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#http-2-bridge-mode">HTTP/2 bridge mode</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#disable-ssl-tls">Disable SSL/TLS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#specifying-additional-ca-certificate">Specifying additional CA certificate</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#read-write-rate-limit">Read/write rate limit</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#rewriting-location-header-field">Rewriting location header field</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#hot-swapping">Hot swapping</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#re-opening-log-files">Re-opening log files</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="nghttpx-howto.html#multiple-backend-addresses">Multiple backend addresses</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="h2load-howto.html">h2load - HTTP/2 benchmarking tool - HOW-TO</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load-howto.html#basic-usage">Basic Usage</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load-howto.html#flow-control">Flow Control</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load-howto.html#multi-threading">Multi-Threading</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load-howto.html#selecting-protocol-for-clear-text">Selecting protocol for clear text</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="h2load-howto.html#multiple-uris">Multiple URIs</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="apiref.html">API Reference</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#includes">Includes</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#remarks">Remarks</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#http-messaging">HTTP Messaging</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#macros">Macros</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#enums">Enums</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#types-structs-unions-and-typedefs">Types (structs, unions and typedefs)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="apiref.html#functions">Functions</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="libnghttp2_asio.html">libnghttp2_asio: High level HTTP/2 C++ library</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="libnghttp2_asio.html#server-api">Server API</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="libnghttp2_asio.html#client-api">Client API</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="python-apiref.html">Python API Reference</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="python-apiref.html#hpack-api">HPACK API</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="python-apiref.html#http-2-servers">HTTP/2 servers</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="nghttp2.h.html">nghttp2.h</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="nghttp2ver.h.html">nghttp2ver.h</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="asio_http2_server.h.html">asio_http2_server.h</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="asio_http2_client.h.html">asio_http2_client.h</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="asio_http2.h.html">asio_http2.h</a></li>
|
|
<li class="toctree-l1"><a class="reference external" href="https://github.com/tatsuhiro-t/nghttp2">Source</a></li>
|
|
<li class="toctree-l1"><a class="reference external" href="https://github.com/tatsuhiro-t/nghttp2/issues">Issues</a></li>
|
|
<li class="toctree-l1"><a class="reference external" href="https://nghttp2.org/">nghttp2.org</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="index.html">nghttp2</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="index.html">Docs</a> »</li>
|
|
|
|
<li>nghttpx(1)</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document">
|
|
|
|
<div class="section" id="nghttpx-1">
|
|
<h1>nghttpx(1)<a class="headerlink" href="#nghttpx-1" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="synopsis">
|
|
<h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline">¶</a></h2>
|
|
<p><strong>nghttpx</strong> [OPTIONS]... [<PRIVATE_KEY> <CERT>]</p>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
|
<p>A reverse proxy for HTTP/2, HTTP/1 and SPDY.</p>
|
|
<dl class="describe">
|
|
<dt>
|
|
<tt class="descname"><PRIVATE_KEY></tt></dt>
|
|
<dd><p>Set path to server's private key. Required unless <a class="reference internal" href="#cmdoption-p"><em class="xref std std-option">-p</em></a>,
|
|
<a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> or <a class="reference internal" href="#cmdoption--frontend-no-tls"><em class="xref std std-option">--frontend-no-tls</em></a> are given.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="describe">
|
|
<dt>
|
|
<tt class="descname"><CERT></tt></dt>
|
|
<dd><p>Set path to server's certificate. Required unless <a class="reference internal" href="#cmdoption-p"><em class="xref std std-option">-p</em></a>,
|
|
<a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> or <a class="reference internal" href="#cmdoption--frontend-no-tls"><em class="xref std std-option">--frontend-no-tls</em></a> are given.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="options">
|
|
<h2>OPTIONS<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
|
|
<p>The options are categorized into several groups.</p>
|
|
<div class="section" id="connections">
|
|
<h3>Connections<a class="headerlink" href="#connections" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption-b">
|
|
<span id="cmdoption--backend"></span><tt class="descname">-b</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--backend</tt><tt class="descclassname">=<HOST,PORT></tt><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>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)</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">127.0.0.1,80</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-f">
|
|
<span id="cmdoption--frontend"></span><tt class="descname">-f</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--frontend</tt><tt class="descclassname">=<HOST,PORT></tt><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set frontend host and port. If <HOST> is '*', it
|
|
assumes all addresses including both IPv4 and IPv6.
|
|
UNIX domain socket can be specified by prefixing path
|
|
name with "unix:" (e.g., unix:/var/run/nghttpx.sock)</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">*,3000</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backlog">
|
|
<tt class="descname">--backlog</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backlog" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set listen backlog size.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">512</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-ipv4">
|
|
<tt class="descname">--backend-ipv4</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--backend-ipv4" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Resolve backend hostname to IPv4 address only.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-ipv6">
|
|
<tt class="descname">--backend-ipv6</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--backend-ipv6" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Resolve backend hostname to IPv6 address only.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http-proxy-uri">
|
|
<tt class="descname">--backend-http-proxy-uri</tt><tt class="descclassname">=<URI></tt><a class="headerlink" href="#cmdoption--backend-http-proxy-uri" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify proxy URI in the form
|
|
<a class="reference external" href="http:/">http:/</a>/[<USER>:<PASS>@]<PROXY>:<PORT>. If a proxy
|
|
requires authentication, specify <USER> and <PASS>.
|
|
Note that they must be properly percent-encoded. This
|
|
proxy is used when the backend connection is HTTP/2.
|
|
First, make a CONNECT request to the proxy and it
|
|
connects to the backend on behalf of nghttpx. This
|
|
forms tunnel. After that, nghttpx performs SSL/TLS
|
|
handshake with the downstream through the tunnel. The
|
|
timeouts when connecting and making CONNECT request can
|
|
be specified by <a class="reference internal" href="#cmdoption--backend-read-timeout"><em class="xref std std-option">--backend-read-timeout</em></a> and
|
|
<a class="reference internal" href="#cmdoption--backend-write-timeout"><em class="xref std std-option">--backend-write-timeout</em></a> options.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="performance">
|
|
<h3>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption-n">
|
|
<span id="cmdoption--workers"></span><tt class="descname">-n</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--workers</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set the number of worker threads.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">1</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--read-rate">
|
|
<tt class="descname">--read-rate</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--read-rate" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum average read rate on frontend connection.
|
|
Setting 0 to this option means read rate is unlimited.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--read-burst">
|
|
<tt class="descname">--read-burst</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--read-burst" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum read burst size on frontend connection.
|
|
Setting 0 to this option means read burst size is
|
|
unlimited.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--write-rate">
|
|
<tt class="descname">--write-rate</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--write-rate" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum average write rate on frontend connection.
|
|
Setting 0 to this option means write rate is unlimited.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--write-burst">
|
|
<tt class="descname">--write-burst</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--write-burst" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum write burst size on frontend connection.
|
|
Setting 0 to this option means write burst size is
|
|
unlimited.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--worker-read-rate">
|
|
<tt class="descname">--worker-read-rate</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--worker-read-rate" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum average read rate on frontend connection per
|
|
worker. Setting 0 to this option means read rate is
|
|
unlimited. Not implemented yet.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--worker-read-burst">
|
|
<tt class="descname">--worker-read-burst</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--worker-read-burst" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum read burst size on frontend connection per
|
|
worker. Setting 0 to this option means read burst size
|
|
is unlimited. Not implemented yet.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--worker-write-rate">
|
|
<tt class="descname">--worker-write-rate</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--worker-write-rate" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum average write rate on frontend connection
|
|
per worker. Setting 0 to this option means write rate
|
|
is unlimited. Not implemented yet.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--worker-write-burst">
|
|
<tt class="descname">--worker-write-burst</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--worker-write-burst" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum write burst size on frontend connection per
|
|
worker. Setting 0 to this option means write burst size
|
|
is unlimited. Not implemented yet.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--worker-frontend-connections">
|
|
<tt class="descname">--worker-frontend-connections</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--worker-frontend-connections" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum number of simultaneous connections frontend
|
|
accepts. Setting 0 means unlimited.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http2-connections-per-worker">
|
|
<tt class="descname">--backend-http2-connections-per-worker</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backend-http2-connections-per-worker" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum number of HTTP/2 connections per worker.
|
|
The default value is 0, which means the number of
|
|
backend addresses specified by <a class="reference internal" href="#cmdoption-b"><em class="xref std std-option">-b</em></a> option.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http1-connections-per-host">
|
|
<tt class="descname">--backend-http1-connections-per-host</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backend-http1-connections-per-host" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum number of backend concurrent HTTP/1
|
|
connections per host. This option is meaningful when <a class="reference internal" href="#cmdoption-s"><em class="xref std std-option">-s</em></a>
|
|
option is used. To limit the number of connections per
|
|
frontend for default mode, use
|
|
<a class="reference internal" href="#cmdoption--backend-http1-connections-per-frontend"><em class="xref std std-option">--backend-http1-connections-per-frontend</em></a>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">8</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http1-connections-per-frontend">
|
|
<tt class="descname">--backend-http1-connections-per-frontend</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backend-http1-connections-per-frontend" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum number of backend concurrent HTTP/1
|
|
connections per frontend. This option is only used for
|
|
default mode. 0 means unlimited. To limit the number
|
|
of connections per host for HTTP/2 or SPDY proxy mode
|
|
(-s option), use <a class="reference internal" href="#cmdoption--backend-http1-connections-per-host"><em class="xref std std-option">--backend-http1-connections-per-host</em></a>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--rlimit-nofile">
|
|
<tt class="descname">--rlimit-nofile</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--rlimit-nofile" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set maximum number of open files (RLIMIT_NOFILE) to <N>.
|
|
If 0 is given, nghttpx does not set the limit.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-request-buffer">
|
|
<tt class="descname">--backend-request-buffer</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--backend-request-buffer" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set buffer size used to store backend request.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16K</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-response-buffer">
|
|
<tt class="descname">--backend-response-buffer</tt><tt class="descclassname">=<SIZE></tt><a class="headerlink" href="#cmdoption--backend-response-buffer" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set buffer size used to store backend response.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16K</span></tt></p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="timeout">
|
|
<h3>Timeout<a class="headerlink" href="#timeout" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-http2-read-timeout">
|
|
<tt class="descname">--frontend-http2-read-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--frontend-http2-read-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify read timeout for HTTP/2 and SPDY frontend
|
|
connection.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">180s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-read-timeout">
|
|
<tt class="descname">--frontend-read-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--frontend-read-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify read timeout for HTTP/1.1 frontend connection.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">180s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-write-timeout">
|
|
<tt class="descname">--frontend-write-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--frontend-write-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify write timeout for all frontend connections.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">30s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--stream-read-timeout">
|
|
<tt class="descname">--stream-read-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--stream-read-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify read timeout for HTTP/2 and SPDY streams. 0
|
|
means no timeout.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--stream-write-timeout">
|
|
<tt class="descname">--stream-write-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--stream-write-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify write timeout for HTTP/2 and SPDY streams. 0
|
|
means no timeout.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-read-timeout">
|
|
<tt class="descname">--backend-read-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--backend-read-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify read timeout for backend connection.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">180s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-write-timeout">
|
|
<tt class="descname">--backend-write-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--backend-write-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify write timeout for backend connection.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">30s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-keep-alive-timeout">
|
|
<tt class="descname">--backend-keep-alive-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--backend-keep-alive-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify keep-alive timeout for backend connection.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">2s</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--listener-disable-timeout">
|
|
<tt class="descname">--listener-disable-timeout</tt><tt class="descclassname">=<DURATION></tt><a class="headerlink" href="#cmdoption--listener-disable-timeout" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>After accepting connection failed, connection listener
|
|
is disabled for a given amount of time. Specifying 0
|
|
disables this feature.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">0</span></tt></p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="ssl-tls">
|
|
<h3>SSL/TLS<a class="headerlink" href="#ssl-tls" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption--ciphers">
|
|
<tt class="descname">--ciphers</tt><tt class="descclassname">=<SUITE></tt><a class="headerlink" href="#cmdoption--ciphers" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set allowed cipher list. The format of the string is
|
|
described in OpenSSL ciphers(1).</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-k">
|
|
<span id="cmdoption--insecure"></span><tt class="descname">-k</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--insecure</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-k" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Don't verify backend server's certificate if <a class="reference internal" href="#cmdoption-p"><em class="xref std std-option">-p</em></a>,
|
|
<a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> or <a class="reference internal" href="#cmdoption--http2-bridge"><em class="xref std std-option">--http2-bridge</em></a> are given and
|
|
<a class="reference internal" href="#cmdoption--backend-no-tls"><em class="xref std std-option">--backend-no-tls</em></a> is not given.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--cacert">
|
|
<tt class="descname">--cacert</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--cacert" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set path to trusted CA certificate file if <a class="reference internal" href="#cmdoption-p"><em class="xref std std-option">-p</em></a>, <a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a>
|
|
or <a class="reference internal" href="#cmdoption--http2-bridge"><em class="xref std std-option">--http2-bridge</em></a> are given and <a class="reference internal" href="#cmdoption--backend-no-tls"><em class="xref std std-option">--backend-no-tls</em></a> is not
|
|
given. The file must be in PEM format. It can contain
|
|
multiple certificates. If the linked OpenSSL is
|
|
configured to load system wide certificates, they are
|
|
loaded at startup regardless of this option.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--private-key-passwd-file">
|
|
<tt class="descname">--private-key-passwd-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--private-key-passwd-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains password for the server's
|
|
private key. If none is given and the private key is
|
|
password protected it'll be requested interactively.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--subcert">
|
|
<tt class="descname">--subcert</tt><tt class="descclassname">=<KEYPATH>:<CERTPATH></tt><a class="headerlink" href="#cmdoption--subcert" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify additional certificate and private key file.
|
|
nghttpx will choose certificates based on the hostname
|
|
indicated by client using TLS SNI extension. This
|
|
option can be used multiple times.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-tls-sni-field">
|
|
<tt class="descname">--backend-tls-sni-field</tt><tt class="descclassname">=<HOST></tt><a class="headerlink" href="#cmdoption--backend-tls-sni-field" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Explicitly set the content of the TLS SNI extension.
|
|
This will default to the backend HOST name.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--dh-param-file">
|
|
<tt class="descname">--dh-param-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--dh-param-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains DH parameters in PEM format.
|
|
Without this option, DHE cipher suites are not
|
|
available.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--npn-list">
|
|
<tt class="descname">--npn-list</tt><tt class="descclassname">=<LIST></tt><a class="headerlink" href="#cmdoption--npn-list" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Comma delimited list of ALPN protocol identifier sorted
|
|
in the order of preference. That means most desirable
|
|
protocol comes first. This is used in both ALPN and
|
|
NPN. The parameter must be delimited by a single comma
|
|
only and any white spaces are treated as a part of
|
|
protocol string.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">h2,h2-16,h2-14,spdy/3.1,http/1.1</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--verify-client">
|
|
<tt class="descname">--verify-client</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--verify-client" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Require and verify client certificate.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--verify-client-cacert">
|
|
<tt class="descname">--verify-client-cacert</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--verify-client-cacert" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains CA certificates to verify
|
|
client certificate. The file must be in PEM format. It
|
|
can contain multiple certificates.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--client-private-key-file">
|
|
<tt class="descname">--client-private-key-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--client-private-key-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains client private key used in
|
|
backend client authentication.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--client-cert-file">
|
|
<tt class="descname">--client-cert-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--client-cert-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains client certificate used in
|
|
backend client authentication.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--tls-proto-list">
|
|
<tt class="descname">--tls-proto-list</tt><tt class="descclassname">=<LIST></tt><a class="headerlink" href="#cmdoption--tls-proto-list" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Comma delimited list of SSL/TLS protocol to be enabled.
|
|
The following protocols are available: TLSv1.2, TLSv1.1
|
|
and TLSv1.0. The name matching is done in
|
|
case-insensitive manner. The parameter must be
|
|
delimited by a single comma only and any white spaces
|
|
are treated as a part of protocol string.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">TLSv1.2,TLSv1.1</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--tls-ticket-key-file">
|
|
<tt class="descname">--tls-ticket-key-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--tls-ticket-key-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Path to file that contains 48 bytes random data to
|
|
construct TLS session ticket parameters. This options
|
|
can be used repeatedly to specify multiple ticket
|
|
parameters. If several files are given, only the first
|
|
key is used to encrypt TLS session tickets. Other keys
|
|
are accepted but server will issue new session ticket
|
|
with first key. This allows session key rotation.
|
|
Please note that key rotation does not occur
|
|
automatically. User should rearrange files or change
|
|
options values and restart nghttpx gracefully. If
|
|
opening or reading given file fails, all loaded keys are
|
|
discarded and it is treated as if none of this option is
|
|
given. If this option is not given or an error occurred
|
|
while opening or reading a file, key is generated
|
|
automatically and renewed every 12hrs. At most 2 keys
|
|
are stored in memory.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--tls-ctx-per-worker">
|
|
<tt class="descname">--tls-ctx-per-worker</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--tls-ctx-per-worker" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Create OpenSSL's SSL_CTX per worker, so that no internal
|
|
locking is required. This may improve scalability with
|
|
multi threaded configuration. If this option is
|
|
enabled, session ID is no longer shared accross SSL_CTX
|
|
objects, which means session ID generated by one worker
|
|
is not acceptable by another worker. On the other hand,
|
|
session ticket key is shared across all worker threads.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="http-2-and-spdy">
|
|
<h3>HTTP/2 and SPDY<a class="headerlink" href="#http-2-and-spdy" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption-c">
|
|
<span id="cmdoption--http2-max-concurrent-streams"></span><tt class="descname">-c</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--http2-max-concurrent-streams</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption-c" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set the maximum number of the concurrent streams in one
|
|
HTTP/2 and SPDY session.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">100</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-http2-window-bits">
|
|
<tt class="descname">--frontend-http2-window-bits</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--frontend-http2-window-bits" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Sets the per-stream initial window size of HTTP/2 SPDY
|
|
frontend connection. For HTTP/2, the size is 2**<N>-1.
|
|
For SPDY, the size is 2**<N>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-http2-connection-window-bits">
|
|
<tt class="descname">--frontend-http2-connection-window-bits</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--frontend-http2-connection-window-bits" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Sets the per-connection window size of HTTP/2 and SPDY
|
|
frontend connection. For HTTP/2, the size is
|
|
2**<N>-1. For SPDY, the size is 2**<N>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-no-tls">
|
|
<tt class="descname">--frontend-no-tls</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--frontend-no-tls" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Disable SSL/TLS on frontend connections.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http2-window-bits">
|
|
<tt class="descname">--backend-http2-window-bits</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backend-http2-window-bits" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Sets the initial window size of HTTP/2 backend
|
|
connection to 2**<N>-1.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-http2-connection-window-bits">
|
|
<tt class="descname">--backend-http2-connection-window-bits</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--backend-http2-connection-window-bits" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Sets the per-connection window size of HTTP/2 backend
|
|
connection to 2**<N>-1.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">16</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--backend-no-tls">
|
|
<tt class="descname">--backend-no-tls</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--backend-no-tls" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Disable SSL/TLS on backend connections.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--http2-no-cookie-crumbling">
|
|
<tt class="descname">--http2-no-cookie-crumbling</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--http2-no-cookie-crumbling" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Don't crumble cookie header field.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--padding">
|
|
<tt class="descname">--padding</tt><tt class="descclassname">=<N></tt><a class="headerlink" href="#cmdoption--padding" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Add at most <N> bytes to a HTTP/2 frame payload as
|
|
padding. Specify 0 to disable padding. This option is
|
|
meant for debugging purpose and not intended to enhance
|
|
protocol security.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--no-server-push">
|
|
<tt class="descname">--no-server-push</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--no-server-push" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Disable HTTP/2 server push. Server push is only
|
|
supported by default mode and HTTP/2 frontend. SPDY
|
|
frontend does not support server push.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="mode">
|
|
<h3>Mode<a class="headerlink" href="#mode" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="describe">
|
|
<dt>
|
|
<tt class="descname">(default mode)</tt></dt>
|
|
<dd><p>Accept HTTP/2, SPDY and HTTP/1.1 over SSL/TLS. If
|
|
<a class="reference internal" href="#cmdoption--frontend-no-tls"><em class="xref std std-option">--frontend-no-tls</em></a> is used, accept HTTP/2 and HTTP/1.1.
|
|
The incoming HTTP/1.1 connection can be upgraded to
|
|
HTTP/2 through HTTP Upgrade. The protocol to the
|
|
backend is HTTP/1.1.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-s">
|
|
<span id="cmdoption--http2-proxy"></span><tt class="descname">-s</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--http2-proxy</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Like default mode, but enable secure proxy mode.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--http2-bridge">
|
|
<tt class="descname">--http2-bridge</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--http2-bridge" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Like default mode, but communicate with the backend in
|
|
HTTP/2 over SSL/TLS. Thus the incoming all connections
|
|
are converted to HTTP/2 connection and relayed to the
|
|
backend. See <a class="reference internal" href="#cmdoption--backend-http-proxy-uri"><em class="xref std std-option">--backend-http-proxy-uri</em></a> option if you are
|
|
behind the proxy and want to connect to the outside
|
|
HTTP/2 proxy.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--client">
|
|
<tt class="descname">--client</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--client" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Accept HTTP/2 and HTTP/1.1 without SSL/TLS. The
|
|
incoming HTTP/1.1 connection can be upgraded to HTTP/2
|
|
connection through HTTP Upgrade. The protocol to the
|
|
backend is HTTP/2. To use nghttpx as a forward proxy,
|
|
use <a class="reference internal" href="#cmdoption-p"><em class="xref std std-option">-p</em></a> option instead.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-p">
|
|
<span id="cmdoption--client-proxy"></span><tt class="descname">-p</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--client-proxy</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Like <a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> option, but it also requires the request
|
|
path from frontend must be an absolute URI, suitable for
|
|
use as a forward proxy.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="logging">
|
|
<h3>Logging<a class="headerlink" href="#logging" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption-L">
|
|
<span id="cmdoption--log-level"></span><tt class="descname">-L</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--log-level</tt><tt class="descclassname">=<LEVEL></tt><a class="headerlink" href="#cmdoption-L" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set the severity level of log output. <LEVEL> must be
|
|
one of INFO, NOTICE, WARN, ERROR and FATAL.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">NOTICE</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--accesslog-file">
|
|
<tt class="descname">--accesslog-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--accesslog-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set path to write access log. To reopen file, send USR1
|
|
signal to nghttpx.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--accesslog-syslog">
|
|
<tt class="descname">--accesslog-syslog</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--accesslog-syslog" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Send access log to syslog. If this option is used,
|
|
<a class="reference internal" href="#cmdoption--accesslog-file"><em class="xref std std-option">--accesslog-file</em></a> option is ignored.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--accesslog-format">
|
|
<tt class="descname">--accesslog-format</tt><tt class="descclassname">=<FORMAT></tt><a class="headerlink" href="#cmdoption--accesslog-format" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify format string for access log. The default
|
|
format is combined format. The following variables are
|
|
available:</p>
|
|
<ul class="simple">
|
|
<li>$remote_addr: client IP address.</li>
|
|
<li>$time_local: local time in Common Log format.</li>
|
|
<li>$time_iso8601: local time in ISO 8601 format.</li>
|
|
<li>$request: HTTP request line.</li>
|
|
<li>$status: HTTP response status code.</li>
|
|
<li>$body_bytes_sent: the number of bytes sent to client
|
|
as response body.</li>
|
|
<li>$http_<VAR>: value of HTTP request header <VAR> where
|
|
'_' in <VAR> is replaced with '-'.</li>
|
|
<li>$remote_port: client port.</li>
|
|
<li>$server_port: server port.</li>
|
|
<li>$request_time: request processing time in seconds with
|
|
milliseconds resolution.</li>
|
|
<li>$pid: PID of the running process.</li>
|
|
<li>$alpn: ALPN identifier of the protocol which generates
|
|
the response. For HTTP/1, ALPN is always http/1.1,
|
|
regardless of minor version.</li>
|
|
</ul>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">$remote_addr</span> <span class="pre">-</span> <span class="pre">-</span> <span class="pre">[$time_local]</span> <span class="pre">"$request"</span> <span class="pre">$status</span> <span class="pre">$body_bytes_sent</span> <span class="pre">"$http_referer"</span> <span class="pre">"$http_user_agent"</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--errorlog-file">
|
|
<tt class="descname">--errorlog-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--errorlog-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set path to write error log. To reopen file, send USR1
|
|
signal to nghttpx.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">/dev/stderr</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--errorlog-syslog">
|
|
<tt class="descname">--errorlog-syslog</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--errorlog-syslog" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Send error log to syslog. If this option is used,
|
|
<a class="reference internal" href="#cmdoption--errorlog-file"><em class="xref std std-option">--errorlog-file</em></a> option is ignored.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--syslog-facility">
|
|
<tt class="descname">--syslog-facility</tt><tt class="descclassname">=<FACILITY></tt><a class="headerlink" href="#cmdoption--syslog-facility" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set syslog facility to <FACILITY>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">daemon</span></tt></p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="http">
|
|
<h3>HTTP<a class="headerlink" href="#http" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption--add-x-forwarded-for">
|
|
<tt class="descname">--add-x-forwarded-for</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--add-x-forwarded-for" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Append X-Forwarded-For header field to the downstream
|
|
request.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--strip-incoming-x-forwarded-for">
|
|
<tt class="descname">--strip-incoming-x-forwarded-for</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--strip-incoming-x-forwarded-for" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Strip X-Forwarded-For header field from inbound client
|
|
requests.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--no-via">
|
|
<tt class="descname">--no-via</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--no-via" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Don't append to Via header field. If Via header field
|
|
is received, it is left unaltered.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--no-location-rewrite">
|
|
<tt class="descname">--no-location-rewrite</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--no-location-rewrite" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Don't rewrite location header field on <a class="reference internal" href="#cmdoption--http2-bridge"><em class="xref std std-option">--http2-bridge</em></a>,
|
|
<a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> and default mode. For <a class="reference internal" href="#cmdoption--http2-proxy"><em class="xref std std-option">--http2-proxy</em></a> and
|
|
<a class="reference internal" href="#cmdoption--client-proxy"><em class="xref std std-option">--client-proxy</em></a> mode, location header field will not be
|
|
altered regardless of this option.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--no-host-rewrite">
|
|
<tt class="descname">--no-host-rewrite</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption--no-host-rewrite" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Don't rewrite host and :authority header fields on
|
|
<a class="reference internal" href="#cmdoption--http2-bridge"><em class="xref std std-option">--http2-bridge</em></a>, <a class="reference internal" href="#cmdoption--client"><em class="xref std std-option">--client</em></a> and default mode. For
|
|
<a class="reference internal" href="#cmdoption--http2-proxy"><em class="xref std std-option">--http2-proxy</em></a> and <a class="reference internal" href="#cmdoption--client-proxy"><em class="xref std std-option">--client-proxy</em></a> mode, these headers
|
|
will not be altered regardless of this option.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--altsvc">
|
|
<tt class="descname">--altsvc</tt><tt class="descclassname">=<PROTOID,PORT[,HOST,[ORIGIN]]></tt><a class="headerlink" href="#cmdoption--altsvc" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify protocol ID, port, host and origin of
|
|
alternative service. <HOST> and <ORIGIN> are optional.
|
|
They are advertised in alt-svc header field or HTTP/2
|
|
ALTSVC frame. This option can be used multiple times to
|
|
specify multiple alternative services. Example:
|
|
<a class="reference internal" href="#cmdoption--altsvc"><em class="xref std std-option">--altsvc</em></a>=h2,443</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--add-response-header">
|
|
<tt class="descname">--add-response-header</tt><tt class="descclassname">=<HEADER></tt><a class="headerlink" href="#cmdoption--add-response-header" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Specify additional header field to add to response
|
|
header set. This option just appends header field and
|
|
won't replace anything already set. This option can be
|
|
used several times to specify multiple header fields.
|
|
Example: <a class="reference internal" href="#cmdoption--add-response-header"><em class="xref std std-option">--add-response-header</em></a>="foo: bar"</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="debug">
|
|
<h3>Debug<a class="headerlink" href="#debug" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-http2-dump-request-header">
|
|
<tt class="descname">--frontend-http2-dump-request-header</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--frontend-http2-dump-request-header" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Dumps request headers received by HTTP/2 frontend to the
|
|
file denoted in <PATH>. The output is done in HTTP/1
|
|
header field format and each header block is followed by
|
|
an empty line. This option is not thread safe and MUST
|
|
NOT be used with option <a class="reference internal" href="#cmdoption-n"><em class="xref std std-option">-n</em></a><N>, where <N> >= 2.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--frontend-http2-dump-response-header">
|
|
<tt class="descname">--frontend-http2-dump-response-header</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--frontend-http2-dump-response-header" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Dumps response headers sent from HTTP/2 frontend to the
|
|
file denoted in <PATH>. The output is done in HTTP/1
|
|
header field format and each header block is followed by
|
|
an empty line. This option is not thread safe and MUST
|
|
NOT be used with option <a class="reference internal" href="#cmdoption-n"><em class="xref std std-option">-n</em></a><N>, where <N> >= 2.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-o">
|
|
<span id="cmdoption--frontend-frame-debug"></span><tt class="descname">-o</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--frontend-frame-debug</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-o" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Print HTTP/2 frames in frontend to stderr. This option
|
|
is not thread safe and MUST NOT be used with option
|
|
<a class="reference internal" href="#cmdoption-n"><em class="xref std std-option">-n</em></a>=N, where N >= 2.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="process">
|
|
<h3>Process<a class="headerlink" href="#process" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption-D">
|
|
<span id="cmdoption--daemon"></span><tt class="descname">-D</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--daemon</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Run in a background. If <a class="reference internal" href="#cmdoption-D"><em class="xref std std-option">-D</em></a> is used, the current working
|
|
directory is changed to '<em>/</em>'.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--pid-file">
|
|
<tt class="descname">--pid-file</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--pid-file" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Set path to save PID of this program.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption--user">
|
|
<tt class="descname">--user</tt><tt class="descclassname">=<USER></tt><a class="headerlink" href="#cmdoption--user" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Run this program as <USER>. This option is intended to
|
|
be used to drop root privileges.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="misc">
|
|
<h3>Misc<a class="headerlink" href="#misc" title="Permalink to this headline">¶</a></h3>
|
|
<dl class="option">
|
|
<dt id="cmdoption--conf">
|
|
<tt class="descname">--conf</tt><tt class="descclassname">=<PATH></tt><a class="headerlink" href="#cmdoption--conf" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Load configuration from <PATH>.</p>
|
|
<p>Default: <tt class="docutils literal"><span class="pre">/etc/nghttpx/nghttpx.conf</span></tt></p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-v">
|
|
<span id="cmdoption--version"></span><tt class="descname">-v</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--version</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Print version and exit.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="option">
|
|
<dt id="cmdoption-h">
|
|
<span id="cmdoption--help"></span><tt class="descname">-h</tt><tt class="descclassname"></tt><tt class="descclassname">, </tt><tt class="descname">--help</tt><tt class="descclassname"></tt><a class="headerlink" href="#cmdoption-h" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>Print this help and exit.</p>
|
|
</dd></dl>
|
|
|
|
<p>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).</p>
|
|
<p>The <DURATION> argument is an integer and an optional unit (e.g., 1s
|
|
is 1 second and 500ms is 500 milliseconds). Units are s or ms. If
|
|
a unit is omitted, a second is used as unit.</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="files">
|
|
<h2>FILES<a class="headerlink" href="#files" title="Permalink to this headline">¶</a></h2>
|
|
<dl class="docutils">
|
|
<dt><em>/etc/nghttpx/nghttpx.conf</em></dt>
|
|
<dd><p class="first">The default configuration file path nghttpx searches at startup.
|
|
The configuration file path can be changed using <a class="reference internal" href="#cmdoption--conf"><em class="xref std std-option">--conf</em></a>
|
|
option.</p>
|
|
<p>Those lines which are staring <tt class="docutils literal"><span class="pre">#</span></tt> are treated as comment.</p>
|
|
<p>The option name in the configuration file is the long command-line
|
|
option name with leading <tt class="docutils literal"><span class="pre">--</span></tt> stripped (e.g., <tt class="docutils literal"><span class="pre">frontend</span></tt>). Put
|
|
<tt class="docutils literal"><span class="pre">=</span></tt> between option name and value. Don't put extra leading or
|
|
trailing spaces.</p>
|
|
<p>The options which do not take argument in the command-line <em>take</em>
|
|
argument in the configuration file. Specify <tt class="docutils literal"><span class="pre">yes</span></tt> as an argument
|
|
(e.g., <tt class="docutils literal"><span class="pre">http2-proxy=yes</span></tt>). If other string is given, it is
|
|
ignored.</p>
|
|
<p>To specify private key and certificate file which are given as
|
|
positional arguments in commnad-line, use <tt class="docutils literal"><span class="pre">private-key-file</span></tt> and
|
|
<tt class="docutils literal"><span class="pre">certificate-file</span></tt>.</p>
|
|
<p class="last"><a class="reference internal" href="#cmdoption--conf"><em class="xref std std-option">--conf</em></a> option cannot be used in the configuration file and
|
|
will be ignored if specified.</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="signals">
|
|
<h2>SIGNALS<a class="headerlink" href="#signals" title="Permalink to this headline">¶</a></h2>
|
|
<dl class="docutils">
|
|
<dt>SIGQUIT</dt>
|
|
<dd>Shutdown gracefully. First accept pending connections and stop
|
|
accepting connection. After all connections are handled, nghttpx
|
|
exits.</dd>
|
|
<dt>SIGUSR1</dt>
|
|
<dd>Reopen log files.</dd>
|
|
<dt>SIGUSR2</dt>
|
|
<dd>Fork and execute nghttpx. It will execute the binary in the same
|
|
path with same command-line arguments and environment variables.
|
|
After new process comes up, sending SIGQUIT to the original process
|
|
to perform hot swapping.</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="server-push">
|
|
<h2>SERVER PUSH<a class="headerlink" href="#server-push" title="Permalink to this headline">¶</a></h2>
|
|
<p>nghttpx supports HTTP/2 server push in default mode. nghttpx looks
|
|
for Link header field (<a class="reference external" href="http://tools.ietf.org/html/rfc5988">RFC 5988</a>) in response headers from
|
|
backend server and extracts URI-reference with parameter
|
|
<tt class="docutils literal"><span class="pre">rel=preload</span></tt> (see <a class="reference external" href="http://w3c.github.io/preload/#interoperability-with-http-link-header">preload</a>)
|
|
and pushes those URIs to the frontend client. Here is a sample Link
|
|
header field to initiate server push:</p>
|
|
<div class="highlight-http"><div class="highlight"><pre>Link: </fonts/font.woff>; rel=preload
|
|
Link: </css/theme.css>; rel=preload
|
|
</pre></div>
|
|
</div>
|
|
<p>Currently, the following restrictions are applied for server push:</p>
|
|
<ol class="arabic simple">
|
|
<li>URI-reference must not contain authority. If it exists, it is not
|
|
pushed. <tt class="docutils literal"><span class="pre">/fonts/font.woff</span></tt> and <tt class="docutils literal"><span class="pre">css/theme.css</span></tt> are eligible to
|
|
be pushed. <tt class="docutils literal"><span class="pre">https://example.org/fonts/font.woff</span></tt> and
|
|
<tt class="docutils literal"><span class="pre">//example.org/css/theme.css</span></tt> are not.</li>
|
|
<li>The associated stream must have method "GET" or "POST". The
|
|
associated stream's status code must be 200.</li>
|
|
</ol>
|
|
<p>These limitations may be loosened in the future release.</p>
|
|
</div>
|
|
<div class="section" id="unix-domain-socket">
|
|
<h2>UNIX DOMAIN SOCKET<a class="headerlink" href="#unix-domain-socket" title="Permalink to this headline">¶</a></h2>
|
|
<p>nghttpx supports UNIX domain socket with a filename for both frontend
|
|
and backend connections.</p>
|
|
<p>Please note that current nghttpx implementation does not delete a
|
|
socket with a filename. And on start up, if nghttpx detects that the
|
|
specified socket already exists in the file system, nghttpx first
|
|
deletes it. However, if SIGUSR2 is used to execute new binary and
|
|
both old and new configurations use same filename, new binary does not
|
|
delete the socket and continues to use it.</p>
|
|
</div>
|
|
<div class="section" id="see-also">
|
|
<h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline">¶</a></h2>
|
|
<p><em class="manpage">nghttp(1)</em>, <em class="manpage">nghttpd(1)</em>, <em class="manpage">h2load(1)</em></p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="h2load.1.html" class="btn btn-neutral float-right" title="h2load(1)">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="nghttpd.1.html" class="btn btn-neutral" title="nghttpd(1)"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2012, 2015, Tatsuhiro Tsujikawa.
|
|
</p>
|
|
</div>
|
|
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'0.7.8-DEV',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: false
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |