nginx中文文档-ngx_http_spdy_module

此页面版本:2016-06-08
ngx_http_spdy_module模块提供实验性的SPDY协议支持。目前实现的是SPDY 3.1草案,在1.5.10版本前实现的是SPDY 2草案。

该模块默认不会构建,需要通过–with-http_spdy_module配置参数启用。
该模块在1.9.5版本被ngx_http_v2_module模块取代。

已知问题

该模块是实验性的。
目前实现的SPDY协议不支持“服务器推送”。
在1.5.9版本之前,SPDY连接的响应不能够限速。
客户端请求体缓冲区不能禁用,不管proxy_request_buffering, fastcgi_request_buffering, uwsgi_request_buffering, 和 scgi_request_buffering指令的值。

示例配置

server {
    listen 443 ssl spdy;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
    ...
}

注意,为了同时在同一个端口接受HTTPS和SPDY连接,OpenSSL库需要支持“Next Protocol Negotiation”TLS扩展。从OpenSSL1.0.1版本可用。

spdy_chunk_size

语法:spdy_chunk_size size
默认:spdy_chunk_size 8k
上下文:http, server, location
版本:1.5.9+

设置响应体被分隔的最大块大小。过低的值会导致更高的消耗。过高的值由于HOL blocking影响性能。

spdy_headers_comp

语法:spdy_headers_comp level
默认:spdy_headers_comp 0
上下文:http, server

设置响应头的压缩等级,范围从1(最快,压缩最低)到9(最慢,压缩最好)。特殊值0禁用头部压缩。

内嵌变量
ngx_http_spdy_module模块支持下面的内嵌变量:


$spdy
SPDY连接的SPDY协议版本,或空字符串。


$spdy_request_priority
SPDY连接的请求优先级,或空字符串。

nginx中文文档-ngx_http_slice_module

此页面版本:2016-06-08
ngx_http_slice_module模块(1.9.8+)是一个过滤器,用于将请求分成子请求,每个会返回一部分响应。过滤器更有效的缓存大响应。

该模块默认不会构建,需要通过–with-http_slice_module配置参数启用。

示例配置

location / {
    slice             1m;
    proxy_cache       cache;
    proxy_cache_key   $uri$is_args$args$slice_range;
    proxy_set_header  Range $slice_range;
    proxy_cache_valid 200 206 1h;
    proxy_pass        http://localhost:8000;
}

这个例子中,响应被分割成了1M的可缓存的分片。

slice

语法:slice size
默认:slice 0
上下文:http, server, location

设置分片的大小。零值禁用响应分片。注意过低的值会导致过多的内存消耗以及大量的文件描述符。
为了让子请求返回需要的范围,$slice_range变量需要传给被代理服务器作为Range请求头。如果启用缓存,$slice_range应添加到缓存的关键字中,并启用返回响应206状态码。

内嵌变量


$slice_range
当前分片的范围,例如bytes=0-1048575.