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 |
草都可以从石头缝隙中长出来更可况你呢
分类:
web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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的强缓存和协商缓存
· 一文读懂知识蒸馏