ngx_http_ipdb_module - creates variables with values depending on the client IP address or specifies address, using the precompiled ipip.net ipdb.
- Name
- Status
- Install
- Example Configuration
- Directives
- Variable
- $ipdb_country_name
- $ipdb_region_name
- $ipdb_city_name
- $ipdb_owner_domain
- $ipdb_isp_domain
- $ipdb_latitude
- $ipdb_longitude
- $ipdb_timezone
- $ipdb_utc_offset
- $ipdb_china_admin_code
- $ipdb_idd_code
- $ipdb_country_code
- $ipdb_continent_code
- $ipdb_idc
- $ipdb_base_station
- $ipdb_country_code3
- $ipdb_european_union
- $ipdb_currency_code
- $ipdb_currency_name
- $ipdb_anycast
- $ipdb_raw
- TODO
- Author
- Copyright and License
- See Also
The module is currently in active development.
# install json-c lib
# centos
yum install json-c-devel -y
#or mac OSX
brew install json-c
configure --prefix=/usr/local/nginx --add-module=./github.com/vislee/ngx_http_ipdb_module
# or dynamic compile
configure --prefix=/usr/local/nginx --add-dynamic-module=./github.com/vislee/ngx_http_ipdb_module --with-compat
The following information is success:
checking for json-c library ... found
+ ngx_http_ipdb_module was configured
# load_module ./modules/ngx_http_ipdb_module.so;
http {
include mime.types;
default_type application/octet-stream;
......
ipdb /tmp/nginx/conf/ipiptest.ipdb;
ipdb_language CN;
ipdb_proxy 127.0.0.1;
ipdb_proxy_recursive on;
server {
listen 8090;
server_name localhost;
......
location / {
# ipdb_specifies_addr $http_addr;
# ipdb_language EN;
return 200 "country_name:$ipdb_country_name, raw_info:$ipdb_raw";
}
}
}
- add variable
syntax: ipdb file;
default: -
context: http
Specifies a database.
syntax: ipdb_language EN|CN;
default: EN
context: http,server,location
set variable language.
syntax: ipdb_proxy address|CIDR;
default: -
context: http
Defines trusted addresses. Just like geoip_proxy
.
syntax: ipdb_proxy_recursive on|off;
default: off
context: http
Is recursive search. Just like geoip_proxy_recursive
syntax: ipdb_specifies_addr address;
default: -
context: http,server,location
Specifies the address. The address can contain text, variables.
$ipdb_country_name - country name, for example, "中国", "China"
$ipdb_region_name - country region name, for example, "内蒙古","Nei Mongol", "北京", "Beijing"
$ipdb_city_name - city name, for example, "呼和浩特", "Hohhot", "北京", "Beijing"
$ipdb_isp_domain - ISP name, for example, "电信", "ChinaTelecom"
$ipdb_raw - raw info, for example, "中国\t内蒙古\t呼和浩特","China\tNei Mongol\tHohhot"
NOTE: If you need to get multiple variables, use this $ipdb_raw
.
wenqiang li(vislee)
This module is licensed under the GPL license.
Copyright (C) 2018-2019, by vislee.
All rights reserved.