nginx geoip city 如何只使用英文字符?

Posted

技术标签:

【中文标题】nginx geoip city 如何只使用英文字符?【英文标题】:nginx geoip city how to use English characters only? 【发布时间】:2020-04-13 18:44:07 【问题描述】:

我对显示 geoipCity 的国家字符有疑问 我需要将代理的标头设置为 X-City,但我只想使用英文字符,有没有语言选项?

例如,我们有一个城市 Tekirdağ,在 geoiplookup -l 中我可以看到有英语 Tekirdag 和土耳其语 Tekirdağ,但是 $geoip_city 变量只给了我国家字符的城市名称:(

使用 Geoip2 文档,可以在加载 geoip 文件时选择默认语言, 但是常规的 geoip 模块可以吗?

【问题讨论】:

【参考方案1】:

要了解MMDB 文件中数据的结构,只需下载该工具:

mmdbinspect - github.com/maxmind/mmdbinspect

我建议从 releases 为您的操作系统获取二进制文件,然后使用一些 ip 查询您的 mmdb 文件。

nginx 中,只需指定参数的路径即可。

例如:

./mmdbinspect_0.1.1_linux_386/mmdbinspect --db /usr/local/share/GeoIP/GeoLite2-City.mmdb 8.8.8.8

在 NGINX 配置文件中:

(这是针对国家/地区的示例,针对城市进行相应更改。) $geoip2_data_country_code source=$remote_addr country iso_code; 在上面的例子中,路径是:country.iso_code

【讨论】:

以上是关于nginx geoip city 如何只使用英文字符?的主要内容,如果未能解决你的问题,请参考以下文章

安装 geoip_city gem 时出错

如何以编程方式在 NGINX 中查询 GeoIP

Javascript 不会在 Firefox geoip_city() 中显示

Windows 上的 Ruby geoip_city

MaxMind GeoIP City 返回不正确的经纬度

如何使用 GeoIP2() django 模型从 IP 地址调用中提取保存的信息以显示在我的 html 中