地理 IP

注解

本文档仅适用于本地部署的数据库。

安装

  1. 请下载 GeoLite2 城市和国家 数据库。您最终应该会得到两个文件,分别命名为 GeoLite2-City.mmdbGeoLite2-Country.mmdb

  2. 将文件移动到文件夹 /usr/share/GeoIP/

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

注解

如果您不想将 geoip 数据库定位在 /usr/share/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地址是本地主机(127.0.0.1)或局域网地址。如果您不确定,可以使用移动数据访问您的网站。

  2. 您在 Odoo 前面使用了反向代理(如 Apache、Nginx),但未以代理模式启动 Odoo。请参阅 代理模式

  3. 地理IP数据库损坏、缺失或不可访问。在这种情况下,服务器日志中已记录警告信息。