<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stream map功能 :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/index.html</link>
    <description>欢迎阅读 NJet stream map功能 文档。</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Thu, 14 Aug 2025 16:22:45 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>静态配置</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/static/index.html</link>
      <pubDate>Thu, 14 Aug 2025 16:22:38 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/static/index.html</guid>
      <description>1.功能描述 NJet 具有根据业务的需求，动态的 添加，删除，location 的能力，由于不同的路由，需要不同的规则。 例如：根据请求头判断是否启用缓存、根据查询参数配置不同的后端服务等。就需要用到map 的功能，动态的location 也就对应了动态的map 功能，动态的添加，删除map，动态的修改map 的健值对。而这些都不需要重启服务的。 本文中将演示通过新添加的location，来请求通过动态添加，删除map ，来获取映射的 变量值。&#xA;2.依赖模块 load_module /usr/lib/njet/modules/njt_stream_dyn_map_module.so; 3.指令说明 Map 指令的详细描述可参照nginx 文档： http://nginx.org/en/docs/http/ngx_http_map_module.html#map&#xA;map 指令的语法如下：&#xA;map $variable $new_variable { key value; key value; ... default value; } 规则：&#xA;多个map 目标变量相同，后边的生效。 Keyfrom 可以多变量。 4.配置样例 基础配置如下：&#xA;njet.conf&#xA;load_module /usr/lib/njet/modules/njt_stream_dyn_map_module.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; server { server_name loaclhost; listen 8002; location / { return 200 &#34;ok&#34;; } } } stream { map $remote_addr $vara { 127.0.0.1 &#34;it_is_local&#34;; default $remote_addr; } server { listen 1234; return &#34;${vara}\n&#34;; } } njet_ctrl.conf:</description>
    </item>
    <item>
      <title>动态配置</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/dyn/index.html</link>
      <pubDate>Thu, 14 Aug 2025 16:22:45 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/stream/stream_map/dyn/index.html</guid>
      <description>1.依赖模块 njet.conf:&#xA;load_module /usr/lib/njet/modules/njt_stream_dyn_map_module.so; 2.API 2.1 API列表 查询接口&#xA;GET http://IP+port/api/v1/config/stream_dyn_map 修改接口&#xA;PUT http://IP+port/api/v1/config/stream_dyn_map 2.2 调用样例 查询stream dyn map 配置 curl -X &#39;GET&#39; &#39;http://192.168.40.158:8088/api/v1/config/stream_dyn_map&#39; |jq 通过curl 访问:&#xA;nc localhost 1234 返回:&#xA;it_is_local nc 192.168.40.158 1234 返回：&#xA;192.168.40.158 put 修改 curl -X &#39;PUT&#39; \ &#39;http://192.168.40.158:8088/api/v1/config/stream_dyn_map&#39; \ -H &#39;accept: application/json&#39; \ -H &#39;Content-Type: application/json&#39; \ -d &#39;{ &#34;maps&#34;: [ { &#34;keyFrom&#34;: &#34;$remote_addr&#34;, &#34;keyTo&#34;: &#34;$vara&#34;, &#34;values&#34;: [ { &#34;valueFrom&#34;: &#34;127.0.0.1&#34;, &#34;valueTo&#34;: &#34;it_is_local&#34; }, { &#34;valueFrom&#34;: &#34;default&#34;, &#34;valueTo&#34;: &#34;it_is_$remote_addr&#34; } ], &#34;isVolatile&#34;: false, &#34;hostnames&#34;: false } ] }&#39;</description>
    </item>
  </channel>
</rss>