You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义Overpass-API服务器上允许重复查询

解决Overpass-API重复查询报错(添加--allow-duplicate-queries仍无效)

问题场景

在EC2上基于Apache部署自定义Overpass-API服务器时,重复执行同一查询会触发以下错误:

Error: runtime error: open64: 0 Success /osm3s_osm_base Dispatcher_Client::request_read_and_idx::duplicate_query

已尝试通过--allow-duplicate-queries=yes参数启动dispatcher,但问题依旧。

解决步骤

  • 验证dispatcher启动参数是否生效

    1. 终止当前dispatcher进程:killall -9 osm3s_dispatcher
    2. 使用完整命令重新启动,确保参数正确传递:
      osm3s_dispatcher --allow-duplicate-queries=yes --osm-base --meta /path/to/your/overpass/database
      
    3. 通过ps aux | grep osm3s_dispatcher检查进程参数,确认--allow-duplicate-queries=yes已被加载。
  • 检查Apache配置的请求传递逻辑

    • 确认Apache的反向代理/CGI配置未篡改查询参数,避免因额外添加的缓存标识、唯一ID等导致Overpass误判为重复查询。
    • 核对Overpass CGI脚本的配置,确保脚本完整传递原始查询内容到dispatcher,无额外修改。
  • 修复数据库目录权限

    • 确保dispatcher的运行用户(通常为apache或www-data)对Overpass数据库目录拥有读写权限:
      chown -R apache:apache /path/to/overpass/database
      chmod -R 755 /path/to/overpass/database
      
  • 升级Overpass-API版本

    • 部分旧版本存在--allow-duplicate-queries参数的兼容性bug,建议升级到最新稳定版:
      1. 下载最新源码编译安装,或通过对应包管理器更新。
      2. 升级完成后重启dispatcher和Apache服务。

内容的提问来源于stack exchange,提问作者Tucker A.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:44:57