Geo IP

注解

本文档仅适用于本地安装数据库。

安装

  1. 下载 GeoLite2 City 和 Country 数据库。您最终会得到两个文件,分别名为 GeoLite2-City.mmdbGeoLite2-Country.mmdb

  2. 将文件移至:file:`/usr/share/GeoIP/`文件夹。

    mv ~/Downloads/GeoLite2-City.mmdb /usr/share/GeoIP/
    mv ~/Downloads/GeoLite2-Country.mmdb /usr/share/GeoIP/
    
  3. 重启服务器

注解

如果不想在 /usr/share/GeoIP/ 中定位 geoip 数据库,请使用 Odoo 命令行界面的 --geoip-city-db--geoip-country-db 选项。这些选项获取 GeoIP 数据库文件的绝对路径,并将其用作 GeoIP 数据库。例如:

./odoo-bin --geoip-city-db= ~/Downloads/GeoLite2-City.mmdb

测试 Odoo 网站中的 GeoIP 地理定位功能

编辑网页,加入一些地理 IP 信息,如当前请求 IP 地址的国家名称。要执行此操作:

  1. 转到你的网站。打开要测试“GeoIP”的网页。

  2. 选择 自定义 ‣ HTML/CSS/JS编辑器

  3. 在页面添加以下XML:

    <h1 class="text-center" t-esc="request.geoip.country.name or 'geoip failure'"/>
    
  4. 保存并刷新页面。

如果您看到页面中间以粗体显示的国家名称,则说明 Geo-IP 正常工作。

如果读取的是 “geoip failure”,则表示地理定位失败。常见的原因有:

  1. 浏览 IP 地址为 localhost(127.0.0.1)或局域网 IP 地址。如果您不知道,可以使用移动数据访问您的网站。

  2. 您在 Odoo 前面使用了反向代理(apache、nginx),但没有启用代理模式启动 Odoo。请参阅 proxy mode

  3. GeoIP 数据库损坏、丢失或无法访问。在这种情况下,服务器日志中会记录警告。