Nginx 教程

主要文档

Nginx功能概述 为什么选择Nginx Nginx安装 常见问题(FAQ) 配置符号参考 调试 nginx 优化 Nginx 运行和控制Nginx

核心模块

Nginx事件模块 Nginx主模块

基本模块

Browser模块 Charset模块 Geo模块 HttpAccess模块 HttpAuthBasic模块 HttpAutoindex模块 HttpEmptyGif模块 HttpFcgi模块 HttpGzip模块 HttpHeaders模块 HttpIndex模块 HttpIndex模块. HttpLimit zone HttpLimitReqest模块 HttpLog模块 HttpProxy模块 HttpRewrite模块 HttpSSI模块 HttpUserId http核心模块 map Memcached

其他模块

Addition模块 EmbeddedPerl flv GooglePerftools HttpDav模块 HttpGeoIP HttpGzipStatic HttpImageFilter HttpRealIp HttpSecureLink HttpSSL HttpSubstitution HttpXSLT RandomIndex StubStatus模块

mail模块

MailAuth MailCore MailProxy MailSSL

安装

nginx php-fpm安装配置 nginx在fedora上的安装 nginx在freebsd上的安装 nginx在ubuntu上的安装 nginx在windows上的安装

配置示例和方法

HWLoadbalancerCheckErrors nginx防盗链 负载均衡 完整例子 完整例子2 虚拟主机

Addition模块


This module adds responses of other locations before and after the current location's response.

It is implemented as an output filter, the contents of the main request and subrequests to other locations are not buffered completely and are still sent to the client in a streaming fashion. Because the length of the final response body is unkown while sending the HTTP headers, the HTTP chunked encoding is always used here.

Installation

By default the module is not built, it is necessary to enable its build with

./configure --with-http_addition_module 

at compilation time.

Example:

location / {
  add_before_body   /before_action;
  add_after_body    /after_action;

} 

Limitations

Note that as of 0.8.17 no contents will be added if the current location is served as a subrequest itself. Consider the following example:

location /foo {
  add_before_body /bar;
}


location /bar {
 add_before_body  /baz;
} 

Then accessing /foo won't get /baz inserted before the contents of the subrequest /bar.

Also note that at this time, only strings can be used in before/after body locations, not variables. So

location / {
  set $before_action /before_action;
  add_before_body $before_action;
} 

will not work as expected (although the configuration file will still load properly).

Directives

add_before_body

syntax:*add_before_body uri*

default:*no*

context:*http, server, location*

Directive adds content of uri before the response body, issued as a result of the work of the assigned subrequest.

add_after_body

syntax:*add_after_body uri*

default:*no*

context:*http, server, location*

Directive adds content of uri after the response body, issued as a result of the work of the assigned subrequest.

addition_types

syntax:*addition_types mime-type [mime-type ...]*

default:*text/html*

context:*http, server, location*

Directive (since 0.7.9) allows you to add text only to locations of the specified MIME-types (defaults to "text/html").

(Before 0.8.17, this directive was mispelled as "addtion_types" in the source. This bug has been fixed in 0.8.17.)

References

Original Documentation