nginx的addition模块在响应的前后报文添加内容与变量的运行原理

nginx默认未编译此模块;让nginx编译启用此模块

1
2
3
4
./configure --prefix=/data/web --sbin-path=/usr/bin --user=nginx --group=nginx --with-http_stub_status_module --with-http_auth_request_module --with-http_sub_module --add-module=/root/nginx-http-concat --with-http_addition_module
 make
mv /usr/bin/nginx{,.07.12.13.18}
 cp objs/nginx /usr/bin/
addition指令介绍
1
2
3
4
5
6
7
8
9
Syntax: add_before_body uri; #在body之前添加,添加的内容就是后面的uri,让nginx去访问这个uri获取资源,根户请求返回的添加待body之前
Default: —
Context: http, server, location
Syntax: add_after_body uri;  # 在body之后添加
Default: —
Context: http, server, location
Syntax: addition_types mime-type ...;  #那些资源类型的请求可以使用
Default: addition_types text/html;
Context: http, server, location

  配置不启用时;配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@python vhast]# cat addition.conf
server {
    server_name addition.com;
    access_log logs/addition.log main;
    location / {
        #add_before_body /before_action;
        #add_after_body /after_action;
        #addition_types *;
    }
    location /before_action {
        return 200 'new centos before_action\n';
    }
    location /after_action {
        return 200 'new centos after_action\n';
    }
}

  测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@python vhast]# curl addition.com
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
 
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
 
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

  启用配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@python vhast]# cat addition.conf
server {
    server_name addition.com;
    access_log logs/addition.log main;
    location / {
        add_before_body /before_action;  头部添加;这个uri返回的结果
        add_after_body /after_action;  尾部添加;这个uri返回的结果
        addition_types *;
    }
    location /before_action {
        return 200 'new centos before_action\n';
    }
    location /after_action {
        return 200 'new centos after_action\n';
    }
}

  测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@python vhast]# curl addition.com
new centos before_action
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
 
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
 
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
new centos after_action

 

 
 
posted @   烟雨楼台,行云流水  阅读(682)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示