Nginx模块参考手册:Scgi模块(Scgi)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除。

这个模块允许nginx同Scgi">协同工作,并且控制哪些参数将被安全传递,这个页面基本是拷贝自FastCGI与proxy,所以并不一定完全准确。
这个模块最早可用于版本0.8.42。
例:

location / { include scgi_params; scgi_pass localhost:
9000;}

一个在缓存中的实例:

http { scgi_cache_path /path/to/cache levels=1:2 keys_zone=NAME:10m inactive=5m; server { location / { scgi_pass 127.0.0.1:9000; scgi_cache NAME; scgi_cache_valid 200 302 1h; scgi_cache_valid 301 1d; scgi_cache_valid any 1m; scgi_cache_min_uses 1; scgi_cache_use_stale error timeout invalid_header http_500; } }}

缓存遵循后端服务器的Cache-Control, Expires等,但是不包括Vary。

指令

scgi_bind

语法:scgi_bind address
默认值:none
使用字段:http, server, location
可用版本:大于或等于0.8.22
示例:

scgi_bind 192.168.1.1;

指令在调用connect()函数之前将解析每个上游socket到一个本地地址,可以使用在主机拥有多个网卡接口或别名,但是你只允许到外的连接来自指定的网卡或者地址的情况下。

scgi_buffer_size

语法:scgi_buffer_size the_size ;
默认值:scgi_buffer_size 4k/8k ;
使用字段:http, server, location
这个参数指定将用多大的缓冲区来读取从Scgi服务器到来应答的第一部分。
通常来说在这个部分中包含一个小的应答头。
默认的缓冲区大小为scgi_buffers指令中的每块大小,可以将这个值设置更小。

scgi_buffers

语法:scgi_buffers the_number is_size;
默认值:scgi_buffers 8 4k/8k;
使用字段:http, server, location
这个参数指定了从Scgi服务器到来的应答,本地将用多少和多大的缓冲区读取,默认这个参数等于分页大小,根据环境的不同可能是4K, 8K或16K。

scgi_busy_buffers_size

语法: scgi_busy_buffers_size size
默认值: scgi_busy_buffers_size [”#scgi_buffer_size”] * 2
使用字段: http, server, location, if
Undocumented

scgi_cache

语法:scgi_cache zone|off;
默认值:off
使用字段:http, server, location
为缓存实际使用的共享内存指定一个区域,相同的区域可以用在不同的地方。

scgi_cache_bypass

语法:scgi_cache_bypass variable1 variable2…
默认值:none
使用字段: http, server, location
可用版本:>= 0.8.46
指定在什么情况下请求将使用缓存应答或者被传递到后端服务器。

scgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;scgi_cache_bypass $http_pragma $http_authorization;

如果表达式是一个空字符串或者等于“0”,则其值为false,在上述的例子中,如果cookie中有“nocache”则请求总是被传递到后端服务器。
注意来自后端的应答同样可以选择是否被缓存,因此刷新一个缓存元素的方法是传递一个请求头,并且包含一个自定义字段,如“My-618.html">Secret-Header: 1”,可以使用scgi_no_cache:

scgi_no_cache $http_my_secret_header;

scgi_cache_key

语法:scgi_cache_key line
默认值:none
使用字段:http, server, location
设置缓存的关键字,如:

scgi_cache_key localhost:9000$request_uri;

scgi_cache_methods

语法:scgi_cache_methods [GET HEAD POST]
默认值:scgi_cache_methods GET HEAD
使用字段:http, server, location
GET/HEAD用来装饰语句,即你无法禁用GET/HEAD即使你只使用下列语句设置:

scgi_cache_methods POST;

时间: 2024-10-07 11:00:07

Nginx模块参考手册:Scgi模块(Scgi)的相关文章

Nginx模块参考手册:URL重写模块(Rewrite)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许使用正则表达式重写URI(需PCRE库),并且可以根据相关变量重定向和选择不同的配置.如果这个指令在server字段中指定,那么将在被请求的location确定之前执行,如果在指令执行后所选择的location中有其他的重写规则,那么它们也被执行.如果在location中执行这个指令产生了新的URI,那么location又一次确定了新的URI.这样的循环可以最多执行10次,超过以后nginx将返回5

Nginx模块参考手册:日志模块(Log)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 控制nginx如何记录请求日志.例: log_format gzip '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access

Nginx模块参考手册:User ID模块(User ID)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 模块ngx_http_userid_module为连接发布cookie,主要使用$uid_got和$uid_set变量,注意:$uid_got和$uid_set无法在SSI中取得,因为SSI过滤模块工作在userid模块过滤之前.这个模块相当于Apache的mod_uid模块.示例配置: userid on;userid_name uid;userid_domain example.com;userid_pat

Nginx模块参考手册:Gzip Precompression模块(Gzip Precompression)

如果要使用这些模块,则必须在编译时指定相关的编译参数. 这个模块在一个预压缩文件传送到开启Gzip压缩的客户端之前检查是否已经存在以".gz"结尾的压缩文件,这样可以防止文件被重复压缩.这个模块在0.6.24后可用,如果要使用它则需要在编译时指定如下参数: ./ configure --with-http_gzip_static_module 示例配置: gzip_static on; gzip_http_version 1.1;gzip_proxied expired no-cach

Nginx模块参考手册:Map模块(Map)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许你分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量的请求,这个模块并没有性能上的缺失. 如下例: map $http_host $name { hostnames; default 0; example.com 1; *.example.com 1; test.com 2; *.test.com 2; .si

Nginx模块参考手册:HTTP核心模块(HTTP Core)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 摘要 Nginx处理HTTP的http://www.aliyun.com/zixun/aggregation/17626.html">核心功能模块 指令 aio 语法:aio [on|off|sendfile] 默认值:off使用字段:http, server, location这个指令在Linux内核2.6.1922以上版本可以使用,对于Linux内核,这个指令需要配合directio指令,使用这个指令

Nginx模块参考手册:主模块(Main Module)

摘要 包含一些Nginx的基本控制功能 指令 daemon 语法:daemon on | off默认值:on daemon off; 生产环境中不要使用"daemon"和"master_process"指令,这些指令仅用于开发调试.虽然可以使用daemon off在生产环境中,但对性能提升没有任何帮助,但是在生产环境中永远不要使用master_process off. env 语法:env VAR|VAR=VALUE默认值:TZ使用字段:main这个命令允许其限定一

Nginx模块参考手册:Secure Link模块(Secure Link)

如果要使用这些模块,则必须在编译时指定相关的编译参数. 这个模块为一个必需的安全性令牌检查请求网址.要使用这个模块必须在编译时指定下列编译参数(0.7.18后版本可用): --with-http_secure_link_module 示例配置: location /prefix/ { secure_link_secret secret_word; #如果哈希不正确$secure_link将为一个空字符串. if ($secure_link = "") { return 403; } #

Nginx模块参考手册:HTTP Referer模块(HTTP Referer)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 当一个请求头的http://www.aliyun.com/zixun/aggregation/16918.html">Referer字段中包含一些非正确的字段,这个模块可以禁止这个请求访问站点.这个头可以随意的伪造,因此,使用这个模块并不能100%的阻止这些请求,绝大多数拒绝的请求来自一些典型的浏览器,可以认为这些典型的浏览器并不能提供一个"Referer"头,甚至是那些正确的请求.如