ngx_http_spdy_module

该模块已被 1.9.5 中的 ngx_http_v2_module 模块所取代。

ngx_http_spdy_module 模块为 SPDY 提供实验性支持。目前,SPDY 协议草案 3.1已实施。

在 1.5.10 版之前,已实施 SPDY 协议草案 2

默认情况下不构建此模块,可在构建 nginx 时使用 --with-http_spdy_module 配置参数启用它。

已知问题

该模块处于实验阶段,请注意风险。

当前的 SPDY 协议实现不支持服务器推送

在 1.5.9 之前的版本中,SPDY 连接中的响应无法做到速率限制

无论 proxy_request_bufferingfastcgi_request_bufferinguwsgi_request_bufferingscgi_request_buffering 指令为何值,都无法禁用客户端请求体缓冲。

示例配置

  1. server {
  2. listen 443 ssl spdy;
  3. ssl_certificate server.crt;
  4. ssl_certificate_key server.key;
  5. ...
  6. }

请注意,为了在同一端口上同时接受 HTTPS 和 SPDY 连接,使用的 OpenSSL 库应支持 Next Protocol Negotiation TLS 扩展,该扩展自 OpenSSL 1.0.1 版开始可用。

指令

spdy_chunk_size

- 说明
语法 spdy_chunk_size size;
默认 spdy_chunk_size 8k;
上下文 http、server、location
提示 该指令在 1.5.9 版本中出现

设置响应体分块的最大大小。值太低会导致更高的开销。由于 HOL 阻塞,太高的值会破坏优先级。

spdy_headers_comp

- 说明
语法 spdy_headers_comp level;
默认 spdy_headers_comp 0;
上下文 http、server

设置响应头压缩级别(level),范围从 1(最快,压缩程度较低)到 9(最慢,压缩程度最佳)。特殊值 0 将关闭头压缩。

内嵌变量

ngx_http_spdy_module 模块支持以下内嵌变量:

  • $spdy

    SPDY 连接的 SPDY 协议版本,无则为空字符串

  • $spdy_request_priority

    请求 SPDY 连接的优先级,无则为空字符串

原文档

http://nginx.org/en/docs/http/ngx_http_spdy_module.html