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 为错误内容