0 realIpFrom_Mod - starjun/starjun.github.io GitHub Wiki

realIpFrom_Mod 该模块是配置获取用户真实ip的

该模块是整个访问控制规则的 第0步 用于配置获取用户真实ip的 在使用高防IP,CDN,云WAF 时,用户的真实IP被放到http头中去了,就需要开启该模块并进行配置。 先看例子:

{
    "id.game.com": {
        "ips": ["111.206.199.57",""],
        "realipfrom": "CDN_R_IP"
    },
    "101.200.122.200": {
        "ips": [[
            "101.254.241.149",
            "106.37.236.170"],
            "table"
        ],
        "realipfrom": "x_for_f"
    },
    "www.g.com": {
        "ips": [[
            "101.254.241.1/24",
            "106.37.236.1/24"],
            "cidr",
            false
        ],
        "realipfrom": "x_for_f"
    },
    "localhost": {
        "ips": ["*",""],
        "realipfrom": "v3_realip_from"
    }
}

1:如果要配置所有直连ip都从header头取,就参考 localhost 这个例子,realipfrom 表示是从哪个字段取。

2:如果要配置在一些ip段从header头取,参考 www.g.com 这个

3:如果要配置在几个ip从header头取,参考 101.200.122.200

4:如果只是一个ip,参考 id.game.com

数据请求样式

URI: http://%ip:%port/api/v2/conf_dict

查询操作:

1:查询所有

   GET/POST querystring:
   action=get&mod=realIpFrom_Mod

2:查询指定id (支持子节点查询,eg: id.game.com@realipfrom)

   GET/POST querystring:
   action=get&mod=realIpFrom_Mod&id=id.game.com
   action=get&mod=realIpFrom_Mod&id=id.game.com@realipfrom

修改操作:

1:修改整体

value:需要url编码

   GET/POST querystring:
   action=set&mod=realIpFrom_Mod&value=
{
    "id.game.com": {
        "ips": ["111.206.199.57",""],
        "realipfrom": "CDN_R_IP"
    },
    "101.200.122.200": {
        "ips": [[
            "101.254.241.149",
            "106.37.236.170"],
            "table"
        ],
        "realipfrom": "x_for_f"
    },
    "www.g.com": {
        "ips": [[
            "101.254.241.1/24",
            "106.37.236.1/24"],
            "cidr",
            false
        ],
        "realipfrom": "x_for_f"
    },
    "localhost": {
        "ips": ["*",""],
        "realipfrom": "v3_realip_from"
    }
}

2:修改单个

value:需要url编码

   GET/POST querystring: 
   action=set&mod=realIpFrom_Mod&value_type=json&id=id.game.com&value=
   {
        "ips": ["*",""],
        "realipfrom": "v3_realip_from"
    }    

删除操作:

1:删除单个

   GET/POST querystring: 
   action=del&mod=realIpFrom_Mod&id=id.game.com

添加操作:

1: 添加单个

value:需要url编码

   GET/POST querystring: 
   action=add&mod=realIpFrom_Mod&id=id.game.com&value=
{
        "ips": [[
            "101.254.241.1/24",
            "106.37.236.1/24"],
            "cidr",
            false
        ],
        "realipfrom": "x_for_f"
    }

返回消息

   服务器失败:http code ~= 200
   服务器成功:{code="ok/error",msg=...}
   code = error ,执行状态错误,msg 为错误内容