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

在Open WebUI中启用SearXNG遇403错误的解决求助

Open WebUI集成SearXNG时403 Forbidden错误的解决办法

问题描述

在Open WebUI(原Ollama Web UI)中配置SearXNG元搜索引擎后,触发网页搜索时持续返回403禁止错误。具体报错如下:

403 Client Error: FORBIDDEN for url: http://searxng:8080/search?q=who+is+euro+2024+winner&format=json&pageno=1&safesearch=1&language=en-US&time_range=&categories=&theme=simple&image_proxy=0

问题根源

  1. docker-compose配置中端口与URL不匹配,容器内部通信地址错误
  2. SearXNG默认启用API访问限制和IP白名单,未授权的请求被拦截

修复步骤

1. 修正docker-compose.yml的端口与URL一致性

你的配置里SearXNG容器内部端口是8080,但环境变量里错误写成了8088,容器间通信必须用容器内部端口。修改如下:

调整SearXNG服务配置

searxng:
  image: searxng/searxng:latest
  ports:
    - "8888:8080"
  environment:
    - BASE_URL=http://searxng:8080/  # 改为容器内部端口8080
  restart: always

调整Open WebUI的环境变量

webui:
  image: ghcr.io/open-webui/open-webui:main
  ports:
    - 3000:8080
  environment:
    OLLAMA_BASE_URL: http://ollama:11434
    SEARXNG_URL: http://searxng:8080  # 同步改为容器内部端口8080
    ENABLE_RAG_WEB_SEARCH: True
    RAG_WEB_SEARCH_ENGINE: "searxng"
    RAG_WEB_SEARCH_RESULT_COUNT: 4
    RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 12
    SEARXNG_QUERY_URL: "http://searxng:8080/search?q=<query>"  # 修正端口
  volumes:
    - open-webui:/app/backend/data
  depends_on:
   - ollama
   - searxng
  restart: always

2. 配置SearXNG允许API访问

SearXNG默认关闭API并限制请求,需要自定义配置解除限制:

步骤2.1 创建自定义配置文件

在docker-compose.yml同目录下新建searxng/settings.yml,内容如下:

server:
  secret_key: "your_random_secret_key_here"  # 生成随机字符串即可,比如用`openssl rand -hex 16`生成
  bind_address: "0.0.0.0"
  port: 8080
  base_url: http://searxng:8080/
  limiter: false  # 测试阶段关闭限流,生产环境可配置IP白名单
  api:
    enabled: true  # 启用API功能
    allow_get: true  # 允许GET请求(Open WebUI用GET调用API)

search:
  safesearch: 1
  default_lang: "en-US"

ui:
  theme: simple

步骤2.2 挂载配置文件到SearXNG容器

更新searxng服务的volumes配置:

searxng:
  image: searxng/searxng:latest
  ports:
    - "8888:8080"
  environment:
    - BASE_URL=http://searxng:8080/
  volumes:
    - ./searxng/settings.yml:/etc/searxng/settings.yml  # 挂载自定义配置
  restart: always

3. 重启容器并验证

执行命令重启所有服务:

docker-compose down && docker-compose up -d

重启后打开Open WebUI,确认搜索设置中的SearXNG查询URL为http://searxng:8080/search?q=<query>,然后再次测试网页搜索,即可正常获取结果。

内容的提问来源于stack exchange,提问作者Urvesh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:13:11