IP 地理信息数据库

OpenResty Edge 产品集成了多种 IP 地理信息数据库的支持,包括 MaxMind Enterprise、MaxMind Lite、IPinfo Lite、IPinfo Plus、ipip.net 等。这些数据库为 OpenResty Edge 产品提供了强大的地理位置相关功能支持。

OpenResty Edge 产品集成了多种 IP 地理信息数据库的支持,包括 MaxMind Enterprise、MaxMind Lite、IPinfo Lite、IPinfo Plus、ipip.net 等。这些数据库为 OpenResty Edge 产品提供了强大的地理位置相关功能支持。

IP 地理信息数据库的重要性

IP 地理信息数据库的集成使得 OpenResty Edge 能够提供以下关键功能:

  1. 增强日志信息:在 错误日志、WAF 日志 等包含终端 IP 信息的页面中,系统自动解析 IP 地址的地理位置信息,提供更详细的访问来源数据。

  2. 精细化规则配置:页面规则和 WAF 规则可以基于地理位置信息进行设置。管理员可以根据用户的大洲、国家、省份、城市等地理信息制定细化的规则。例如,可以为来自美国的用户设置特定的上游代理,并限制请求速率为每秒最多 1 万次。

  3. 优化 DNS 解析:系统可以根据用户的来源 IP 确定其地理位置和使用的运营商,从而返回最优的 DNS 解析结果。

数据库选择

您可以选择使用以下几种方式获取 IP 地理信息数据库:

  • 从 MaxMind 或 ipip.net、qqzeng 购买的商业版的 IP 地理信息数据库
  • MaxMind 提供的免费产品 GeoLite2
  • IPinfo 提供的 IPinfo Lite 和 IPinfo Plus
  • 自定义 IP 地理信息数据库

以下将详细介绍如何在 OpenResty Edge 中使用 MaxMind Lite(即免费的 GeoLite2)、IPinfo Lite 和 IPinfo Plus 数据库。

配置 MaxMind Lite 数据库

步骤 1:获取 MaxMind License Key

  1. 访问 MaxMind 官方网站
  2. 注册并登录账户
  3. 在控制面板中生成 License Key

MaxMind License Key 生成界面

步骤 2:在 OpenResty Edge Admin 中配置

  1. 登录 OpenResty Edge Admin 控制台
  2. 进入全局设置

全局设置入口

  1. 点击 IP 地理信息数据库

IP 地理信息数据库设置

  1. 选择 Maxmind Lite

选择 Maxmind Lite

  1. 输入之前获取的 MaxMind License Key
  2. 点击 保存 按钮

注意: 系统会自动验证输入的 License Key。如果不正确或已过期,将显示相应的错误提示。

配置 IPinfo Lite 和 IPinfo Plus 数据库

IPinfo Lite 包含国家、大洲和基础 ASN 信息。IPinfo Plus 提供更丰富的地理位置、ASN、网络和安全相关信息。实际可用字段取决于 IPinfo 数据库的版本和账户权限。

步骤 1:获取 IPinfo API Token

  1. 注册并登录 IPinfo 账户
  2. 进入 IPinfo Dashboard
  3. 在 Dashboard 中复制 API Token

IPinfo Dashboard 中的 API Token

步骤 2:在 OpenResty Edge Admin 中配置

  1. 登录 OpenResty Edge Admin 控制台
  2. 进入全局设置
  3. 点击 IP 地理信息数据库
  4. 根据需要选择 Ipinfo Lite 或 Ipinfo Plus
  5. 输入之前获取的 IPinfo API Token
  6. 点击 保存 按钮

注意: 请确保 API Token 有权下载所选的 IPinfo 数据库。如果令牌不正确、已失效或没有相应权限,系统将显示错误提示。

IPinfo Plus 隐私服务提供商和匹配网段

隐私服务提供商和匹配网段字段在 OpenResty Edge 26.12.1-1 中首次引入。

数据页面规则变量EdgeLang 查询函数
隐私服务提供商名称(privacy_name)client-privacy-nameclient-privacy-name()、ip-privacy-name(netaddr)
主 IP 数据库匹配网段(CIDR)client-networkclient-network()、ip-network(netaddr)

隐私服务提供商名称可与中继、VPN 等分类标志结合使用,以区分具体服务,例如数据库中的 Apple Private Relay 与商业 VPN。请以实际记录为准;缺少 privacy_name 的记录返回空字符串。

匹配网段表示查询命中的主数据库记录范围。例如,地址 172.225.0.1 可能命中 172.225.0.0/27。它可以用于按网段限流;可选的 ISP 数据库不会覆盖这个值。 网段可能小至单个地址(IPv4 /32 或 IPv6 /128),也可能随数据库更新发生变化。

在支持这些字段的管理端中,可在条件、内置变量值和限流关键字下拉列表中选择 客户端隐私服务提供商 和 客户端匹配网段(CIDR)。HTTP 条件、缓存键和哈希键 还可选择 X-Forwarded-For 中的第一个地址;限流关键字使用客户端地址。

使用这些字段前,需要将管理端和所有接收相应规则的网关均升级至 OpenResty Edge 26.12.1-1 或更新版本,并按升级流程重启网关工作进程。 旧管理端可能无法保存新变量或关键字;旧网关可能无法识别新规则,或无法提供这些字段的值。 不要仅更新数据库后就启用新规则。

四个函数的语法和示例见 EdgeLang 语言用户手册。

Admin 还提供 AS 类型、AS 名称、AS 域名、区域名称/代码及 9 个网络分类标志的下拉选项, 这些选项在 OpenResty Edge 26.12.1-1 中首次引入。字段列表和布尔值缺失时的匹配规则见 扩展 IP 地理信息变量。

数据库更新机制

  • OpenResty Edge Admin 每天会自动与 IP 地理信息提供商同步最新的数据库。
  • 更新后的数据库会自动同步到所有 OpenResty Edge Node 网关服务器,无需管理员手动干预。
  • 页面下半部分显示 IP 地理信息数据库的更新日志,方便管理员查看同步状态。

注意事项

  • 即使 MaxMind License Key 或 IPinfo API Token 过期,也不会影响 OpenResty Edge Node 网关服务器的业务逻辑。
  • 过期的凭据只会导致无法同步最新的数据,但现有数据仍可使用。

自定义 IP 地理信息数据库

OpenResty Edge 支持自定义 IP 地理信息数据库,可与 MaxMind Lite、IPinfo Lite、IPinfo Plus 等标准数据库并行使用,为特定需求提供更精确的地理信息。

自定义 IP 数据库设置

自定义 IP 地理信息数据库采用 CSV 格式,数据结构如下:

network,continent_iso_code,country_iso_code,country_name_en,province_name_en,city_name_en,latitude,longitude,isp
34.64.0.0/24,AS,KR,South Korea,,,37.46910095214844,126.45099639892578,
34.64.1.0/24,AS,KR,South Korea,,,37.46910095214844,126.45099639892578,
34.64.2.0/24,AS,KR,South Korea,,,37.46910095214844,126.45099639892578,

IP 地理信息查询

OpenResty Edge Admin 控制台提供了便捷的 IP 地址查询功能:

IP 查询功能

该功能可用于:

  • 配置 IP 地理信息数据库后,进行查询测试以确认配置正确。
  • 当对 OpenResty Edge Node 网关上报的 IP 地址地理信息有疑问时,进行快速验证。

通过以上步骤,您可以轻松配置和利用 IP 地理信息数据库,充分发挥 OpenResty Edge 的地理位置相关功能。