Skip to content

关于 IP 归属地解析机制的一个建议 #93

Description

@Mr-Jos

问题背景

IPv6 归属地查询准确性很低,因为IPv6归属地数据大多收费,免费的离线库质量较差。

NginxPulse 中虽然提供了解析后归属地编辑功能,但逐个修改很麻烦,尤其是 IPv6 前缀有规则特征却只能重复修改,更显得不人性。

即便设置自定义远程接口校正一下,但往往是还没走到远程接口,就已经匹配到 ip2region 的错误结果了。

建议

建议加一个 IP 归属地白名单设置,以 CIDR 形式定义经常需要编辑的归属地映射,解析优先级仅次于缓存,优先于本地库,并将该设置写入配置文件。同时,考虑到会有绕过本地库直接调用远程接口的情况,也可以用这种方式定义 IP 段。

这相当于在项目层面为 IP 离线库做一个优先级更高的补丁,省去用户维护 ip2region 的麻烦(生成个xdb还得编译),这样用户也不需要再去编辑解析结果中的归属地了。

毕竟需要人工编辑校正的归属地映射不会太多(多的话就去买商用库或者调用远程接口了),个人觉着这是最经济的解决方式。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions