静态配置map

1.功能描述

Njet 配置文件中可以通过Map 指令,检测已有的变量,根据匹配到的值,映射到自定义变量,并对自定义变量赋值。

2.依赖模块

njet.conf

load_module modules/njt_http_dyn_map_module.so;

3.配置说明

该动态模块,使用 api/v1/config api 接口进行动态值的修改,因此需要配置 helper ctl 模块, helper broker 模块, 数据面中需要加载 njt_http_dyn_map_module.so

njet.conf 中需要包含:

load_module /usr/lib/njet/modules/njt_http_dyn_map_module.so;   #map模块必须加载该so 
helper ctrl /usr/lib/njet/modules/njt_helper_ctrl_module.so njet_ctrl.conf;
helper broker /usr/lib/njet/modules/njt_helper_broker_module.so;

http {
    include mime.types;
   map $arg_a $testv {
        default    00;
        aa         11;
        bb         22;
        cc         33;
        dd         44;
       }

   server {
     server_name loaclhost;
      listen 8002;

       location / {
             return 200 "map test,mapped value is ${testv} \n";

      }

    }
}

njet_ctrl.conf 配置:

load_module /usr/lib/njet/modules/njt_http_sendmsg_module.so;
load_module /usr/lib/njet/modules/njt_ctrl_config_api_module.so; 
。。。
http {
        dyn_sendmsg_conf conf/iot-ctrl.conf;
        config_req_pool_size 1000;
        access_log logs/access_ctrl.log combined;
        include mime.types;

        server {
                listen 8088;
       location /api {
        dyn_module_api;
         }

       location /doc {
        doc_api;
        }

                location /metrics {
      vhost_traffic_status_display;
                        vhost_traffic_status_display_format html;
                }

        }
}

curl 访问

curl -k https://127.0.0.1:8080/?a=aa

返回:

map test,mapped value is 11