快速结论:该问题通常发生在 Open WebUI 通过 Docker(默认 bridge 网络)部署、而 SearXNG 配置使用了 127.0.0.1 等容器内部地址时,导致请求无法到达 SearXNG 实例。优先检查 SearXNG URL 是否可被 Open WebUI 容器访问,以及 SearXNG 是否已启用 JSON 格式输出。
适用环境:Open WebUI(Docker 安装)、Debian Trixie、SearXNG(Docker 或脚本安装)、Ollama。Issue 中未提及具体 Open WebUI 版本号。
最快修复方案:暂无确认的一步修复方案。但根据维护者分析,将 SearXNG 搜索 URL 改为 Docker 服务名(如 http://searxng:8080/search)或宿主机可访问地址(如 http://host.docker.internal:8080/search),并确认 SearXNG 配置了 search.formats: [json],是此类场景下最可能有效的调整。
注意事项:上述方案基于维护者对代码逻辑的分析,并非 Issue 中实际验证过的修复结果;如果调整后仍失败,需要提供 searching ... 日志之后的实际客户端错误信息以继续排查。
问题场景
用户在 Debian Trixie 上通过 Docker 安装 Open WebUI,同时安装 SearXNG(Docker 或脚本方式)和 Ollama。在 Open WebUI 后台将 SearXNG 搜索 URL 配置为 http://127.0.0.1:80/searxng/search 并启用 Web 搜索后,执行搜索请求,但 SearXNG 始终无法返回可用结果。
报错原文
issue: SearXNG web search returns no usable results (debug log shows only the base query URL)
# debug log only shows the base query URL, no query parameters appended
# SearXNG returns no usable results regardless of the query
原因分析
根据维护者在 Issue 中的分析,最可能的原因有以下几个:
- 网络可达性问题(最可能):Open WebUI 以 Docker 默认 bridge 网络运行时,配置中的
127.0.0.1指向的是 Open WebUI 容器自身,而非宿主机或其他容器。容器内端口 80 没有服务监听,请求自然无法到达 SearXNG。 - 对 debug 日志的误解:维护者指出,调试日志中
log.debug('searching %s', query_url)这行代码在构建请求之前执行,只打印基础 URL,查询参数(q、format=json等)是在之后由 HTTP 客户端附加到 GET 请求上的。因此日志中看不到参数并不代表查询被丢弃——即使功能正常时也会这样显示。 - SearXNG 未启用 JSON 格式:SearXNG 的
settings.yml中search.formats必须包含json,否则 SearXNG 会返回 403,导致 Open WebUI 无法获取结果。
环境排查
- 确认 Open WebUI 和 SearXNG 是否运行在同一 Docker 网络中;如果是,使用服务名而非
127.0.0.1。 - 确认 SearXNG 是否监听在可被 Open WebUI 容器访问的端口上(例如 8080 而非 80)。
- 检查 SearXNG 的
settings.yml中search.formats是否包含json。 - 在 Open WebUI 容器内手动执行
curl测试 SearXNG 端点是否可达且返回 JSON。 - 确认 SearXNG 的日志和 Open WebUI 容器日志中是否有额外的错误信息。
解决步骤
- 调整 SearXNG 搜索 URL:将配置中的
http://127.0.0.1:80/searxng/search改为 Docker 服务名,例如http://searxng:8080/search(如果 SearXNG 是独立容器);如果 SearXNG 运行在宿主机,则改为http://host.docker.internal:8080/search。 - 确认 SearXNG 的
settings.yml中search.formats包含json,添加后重启 SearXNG 生效。 - 在 Open WebUI 容器内执行
curl "http://<searxng-address>/search?q=test&format=json",确认能返回 JSON 结果。 - 重新执行 Web 搜索,并检查 Open WebUI 容器日志中
searching ...之后是否有新的错误信息。
验证方法
成功时表现为:Open WebUI 的 Web 搜索能正常返回 SearXNG 的搜索结果;Open WebUI 日志在 searching ... 行之后不再出现连接错误或 403 等异常信息。如果问题仍然存在,请将日志中 searching 之后的实际错误输出贴出以便进一步定位。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Question]: How to deal with the situation that the user_id returned in the Conversation table in the database is null?](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7940-bcfd3c79-768x403.jpg)
![[Question]: dependency failed to start: container ragflow-mysql is unhealthy](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7501-3cad0829-768x403.jpg)