zoukankan      html  css  js  c++  java
  • nginx的addition模块在响应的前后报文添加内容与变量的运行原理

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

    ./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指令介绍
    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
    

      配置不启用时;配置

    [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
    ';
    	}
    	location /after_action {
    		return 200 'new centos after_action
    ';
    	}
    }
    

      测试

    [root@python vhast]# curl addition.com
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
             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>
    

      启用配置

    [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
    ';
    	}
    	location /after_action {
    		return 200 'new centos after_action
    ';
    	}
    }
    

      测试

    [root@python vhast]# curl addition.com
    new centos before_action
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
             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
    
     
     
    草都可以从石头缝隙中长出来更可况你呢
  • 相关阅读:
    SecureCRT使用提示
    毕业论文写作时,那些页眉、页脚中的内容中的横线、回车符难删除问题解决
    ostu进行遥感图像的分割
    有关奇葩的mex编程时的matlab出现栈内存错误的问题
    free 一个指针时【 retval = HeapFree(_crtheap, 0, pBlock);】报错的原因
    matlab坐标轴设置
    Use PRODUCT_USER_PROFILE To Limit User
    mysql只导出表结构或数据
    编程学习要讲究效率和经验
    Unity3D的SerializeField 序列化域名
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/11176953.html
Copyright © 2011-2022 走看看