nginx / current / reference / http-ngx_http_spdy_module.html

Module ngx_http_spdy_module

The ngx_http_spdy_module module provides experimental support for SPDY . Currently, draft 3.1 of SPDY protocol is implemented.

Before version 1.5.10, draft 2 of SPDY protocol was implemented.

This module is not built by default, it should be enabled with the --with-http_spdy_module configuration parameter.

This module was superseded by the ngx_http_v2_module module in 1.9.5.

Known Issues

The module is experimental, caveat emptor applies.

Current implementation of SPDY protocol does not support “server push”.

In versions prior to 1.5.9, responses in SPDY connections could not be rate limited.

Buffering of a client request body cannot be disabled regardless of proxy_request_buffering, fastcgi_request_buffering, uwsgi_request_buffering, and scgi_request_buffering directive values.

Example Configuration

server {
    listen 443 ssl spdy;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;

Note that in order to accept both HTTPS and SPDY connections simultaneously on the same port, OpenSSL library used should support “Next Protocol Negotiation” TLS extension, available since OpenSSL version 1.0.1.


Syntax: spdy_chunk_size size;
spdy_chunk_size 8k;
Context: http, server, location

This directive appeared in version 1.5.9.

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 HOL blocking .

Syntax: spdy_headers_comp level;
spdy_headers_comp 0;
Context: http, server

Sets the header compression level of a response in a range from 1 (fastest, less compression) to 9 (slowest, best compression). The special value 0 turns off the header compression.

Embedded Variables

The ngx_http_spdy_module module supports the following embedded variables:

SPDY protocol version for SPDY connections, or an empty string otherwise;
request priority for SPDY connections, or an empty string otherwise.