view xml/en/docs/http/ngx_http_v2_module.xml @ 1580:c711a8a1a8f9

Changed ID from "bugs" to "issues" for http/2, perl, spdy.
author Yaroslav Zhuravlev <yar@nginx.com>
date Sat, 03 Oct 2015 16:08:24 +0300
parents 37be36b01d28
children e491c669220e
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Module ngx_http_v2_module"
        link="/en/docs/http/ngx_http_v2_module.html"
        lang="en"
        rev="1">

<section id="summary">

<para>
The <literal>ngx_http_v2_module</literal> module (1.9.5) provides
support for <link url="https://tools.ietf.org/html/rfc7540">HTTP/2</link>
and supersedes the
<link doc="ngx_http_spdy_module.xml">ngx_http_spdy_module</link> module.
</para>

<para>
This module is not built by default, it should be enabled with
the <literal>--with-http_v2_module</literal>
configuration parameter.
</para>

<para>
<note>
This module is also available as part of our
<commercial_version>commercial subscription</commercial_version>
in the <literal>nginx-plus-http2</literal> package of NGINX Plus
<link url="https://www.nginx.com/blog/nginx-plus-r7-released/">release 7</link>.
</note>
</para>

</section>


<section id="issues" name="Known Issues">

<para>
The module is experimental, caveat emptor applies.
</para>

<para>
Buffering of a client request body cannot be disabled
regardless of
<link doc="ngx_http_proxy_module.xml" id="proxy_request_buffering"/>,
<link doc="ngx_http_fastcgi_module.xml" id="fastcgi_request_buffering"/>,
<link doc="ngx_http_uwsgi_module.xml" id="uwsgi_request_buffering"/>, and
<link doc="ngx_http_scgi_module.xml" id="scgi_request_buffering"/>
directive values.
</para>

</section>


<section id="example" name="Example Configuration">

<para>
<example>
server {
    listen 443 ssl http2;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
}
</example>
Note that accepting HTTP/2 connections over TLS requires
the “Application-Layer Protocol Negotiation” (ALPN) TLS extension
support, which is available only since
<link url="http://www.openssl.org">OpenSSL</link> version 1.0.2.
Using the “Next Protocol Negotiation” (NPN) TLS extension for this purpose
(available since OpenSSL version 1.0.1) is not guaranteed.
</para>

</section>


<section id="directives" name="Directives">

<directive name="http2_chunk_size">
<syntax><value>size</value></syntax>
<default>8k</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Sets the maximum size of chunks
into which the response body is sliced.
A too low value results in higher overhead.
A too high value impairs prioritization due to
<link url="http://en.wikipedia.org/wiki/Head-of-line_blocking">
HOL blocking</link>.
</para>

</directive>


<directive name="http2_idle_timeout">
<syntax><value>time</value></syntax>
<default>3m</default>
<context>http</context>
<context>server</context>

<para>
Sets the timeout of inactivity after which the connection is closed.
</para>

</directive>


<directive name="http2_max_concurrent_streams">
<syntax><value>number</value></syntax>
<default>128</default>
<context>http</context>
<context>server</context>

<para>
Sets the maximum number of concurrent HTTP/2 streams
in a connection.
</para>

</directive>


<directive name="http2_recv_buffer_size">
<syntax><value>size</value></syntax>
<default>256k</default>
<context>http</context>

<para>
Sets the size of the per worker input buffer.
</para>

</directive>


<directive name="http2_recv_timeout">
<syntax><value>time</value></syntax>
<default>30s</default>
<context>http</context>
<context>server</context>

<para>
Sets the timeout for expecting more data from the client,
after which the connection is closed.
</para>

</directive>

</section>


<section id="variables" name="Embedded Variables">

<para>
The <literal>ngx_http_v2_module</literal> module
supports the following embedded variables:
<list type="tag" compact="no">

<tag-name id="var_http2"><var>$http2</var></tag-name>
<tag-desc>
negotiated protocol identifier:
“<literal>h2</literal>” for HTTP/2 over TLS,
“<literal>h2c</literal>” for HTTP/2 over cleartext TCP,
or an empty string otherwise.
</tag-desc>

</list>
</para>

</section>

</module>