Logstash可以使用捆绑的GeoLiteCity.dat数据库进行IP地址查找.此数据库是否与MaxMind提供的数据库相同?MaxMind在每个月的第一个星期二更新数据库.
设置一个作业来自动刷新数据库而不是等待来自ElasticSearch的Logstash更新是否明智?
编辑:2014年12月1日这是我写的用于执行数据库自动更新的bash脚本.我阅读此过滤器的源代码是,可能需要重新启动服务才能占用更新的数据库文件.
#!/bin/bash
# Downloads the latest GeoLight DBs from maxmind.
# Updates/replaces the databases that logstash uses.
# These are the IP-to-location databases that logstash uses.
# Maxmind updates them once a month on the first Tuesday of the month.
# See http://dev.maxmind.com/geoip/legacy/geolite/
echo Beginning update of GeoIP databases for logstash.
cd /tmp
rm -f GeoIPASNum.dat.gz GeoIPASNum.dat GeoLiteCity.dat.gz GeoLiteCity.dat
echo Downloading latest files.
wget --quiet --output-document GeoIPASNum.dat.gz http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz || { echo 'Download of GeoIPASNum.dat.gz …Run Code Online (Sandbox Code Playgroud) 我--with-http_geoip_module用于识别流量.有些页面我只想让某个国家访问.这是配置:
对于 http
http{
geoip_country /usr/share/GeoIP/GeoIP.dat; # the country IP database
map $geoip_country_code $allowed_country {
default 0;
US 1;
UK 1;
HK 1;
}
}
Run Code Online (Sandbox Code Playgroud)
该location指令:
location = /testing {
if ($allowed_country = 0) {
return 301 ;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是当我使用US/ HKIP时,我收到404错误.我做错了什么?
UPDATE
这是我的完整conf档案:
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
geoip_country /usr/share/GeoIP/GeoIP.dat; # the …Run Code Online (Sandbox Code Playgroud) 我想根据我在服务器端收到的IP地址显示国家标志.固定IP地址是否分配给国家?我在哪里可以获取ip地址到国家/地区映射的数据库?
我们想测试GeoIP服务.因此,我们需要使用来自其他国家/地区的IP访问该网站.
有很多免费的代理列表,如http://nntime.com/proxy-country/
它们的问题是,只有CoDeen-Proxies正在运行.但是使用CoDeen,您无法选择您的原籍国(与TOR相同).您将被重定向到网络中的随机代理.
哪里可以找到用于测试GeoIP服务的良好代理服务器?免费的代理服务器会很棒,但是如果它们花费的价格很小则无关紧要.
我正在使用geoip2的python库和pySpark来获取某些IP的地理地址.我的代码是这样的:
geoDBpath = 'somePath/geoDB/GeoLite2-City.mmdb'
geoPath = os.path.join(geoDBpath)
sc.addFile(geoPath)
reader = geoip2.database.Reader(SparkFiles.get(geoPath))
def ip2city(ip):
try:
city = reader.city(ip).city.name
except:
city = 'not found'
return city
Run Code Online (Sandbox Code Playgroud)
我试过了
print ip2city("128.101.101.101")
Run Code Online (Sandbox Code Playgroud)
有用.但是当我尝试在rdd.map中执行此操作时:
rdd = sc.parallelize([ip1, ip2, ip3, ip3, ...])
print rdd.map(lambda x: ip2city(x))
Run Code Online (Sandbox Code Playgroud)
据报道
Traceback (most recent call last):
File "/home/worker/software/spark/python/pyspark/rdd.py", line 1299, in take
res = self.context.runJob(self, takeUpToNumLeft, p)
File "/home/worker/software/spark/python/pyspark/context.py", line 916, in runJob
port = self._jvm.PythonRDD.runJob(self._jsc.sc(), mappedRDD._jrdd, partitions)
File "/home/worker/software/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py", line 538, in __call__
File "/home/worker/software/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError: …Run Code Online (Sandbox Code Playgroud) 我想根据用户 geoip 国家/地区名称在 WooCommerce 标头中添加“We ship to{country name} ”?
我想在我的 WooCommerce 商店的标题中写入 html 内容,例如We ship to "Your Country name"。
任何帮助将不胜感激?
我已经启用了 WooCommerce 地理定位。
我找到了一些建议谷歌AJAX API的例子.
此链接代表了我迄今为止发现的建议:http://briancray.com/2009/05/29/find-web-visitors-location-javascript-google-api/
但是,Google API的位置通常是错误的.
其他网站似乎确切地知道我在哪个城市,但没有我输入任何信息.
建议?是否有跨浏览器(忽略IE6)和可靠的东西?
我找了又找,还是找不到 GeoIP 的 C++ 版本。我知道它有一个 C 版本,但我似乎无法让它与 Micosoft Visual Studio 2012 C++ 一起使用
我努力了:
所以,
对所有问题感到抱歉,但我看了又看,似乎找不到解决方案。
我想知道是否有办法找到历史地理位置的IP信息?我能找到的所有内容都讨论了当前的数据,但我一直无法找到任何方法来查询服务或数据库,例如,从几年前查找有关IP的信息.
我发现这篇题为"如何执行历史IP地理定位查找"的文章,它确实提到maxmind是一个潜在的工具,availability of historical versions但它没有提到如何访问这些数据.
通过maxmind api文档查看我似乎无法找到按日期查询的任何方法.
如何才能在过去的某个时间找到知识产权的位置?(没有必要提供极高的准确性,例如2012年查找此IP地址的国家/地区)
有很多SO问题如何使用javascript获取http标头,但由于某种原因,它们不会显示HTTP_CF_IPCOUNTRY标头.
如果我尝试使用php echo $_SERVER["HTTP_CF_IPCOUNTRY"];,它可以工作,所以CF工作得很好.
是否可以使用javascript获取此标头?
geoip ×10
country ×2
geolocation ×2
ip ×2
maxmind ×2
apache-spark ×1
c++ ×1
cloudflare ×1
html ×1
ip-address ×1
javascript ×1
kibana ×1
location ×1
logstash ×1
nginx ×1
php ×1
proxy ×1
pyspark ×1
python ×1
server ×1
service ×1
web-worker ×1
woocommerce ×1
wordpress ×1