mirror of
https://github.com/open-webui/open-webui.git
synced 2026-08-30 17:25:30 -05:00
[GH-ISSUE #18030] issue: Web Search fails for local SearXNG with self-signed cert (requests missing verify=False) #18469
Reference in New Issue
Block a user
Originally created by @alexandrsuk on GitHub (Oct 3, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18030
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.32
Ollama Version (if applicable)
v0.12.3
Operating System
Windows 11 with Docker Desktop (WSL2 backend)
Browser (if applicable)
Chrome (Latest), Edge (Latest)
Confirmation
README.md.Expected Behavior
When Web Search is configured to use a local SearXNG instance (proxied via Caddy with a self-signed certificate), the tool call should succeed. The Open WebUI backend should successfully connect to the
https://caddyendpoint, retrieve search results from SearXNG, use thecrawl4ai-serverto scrape a resulting URL, and pass the content to the LLM.Actual Behavior
The Web Search tool fails silently. The UI shows a generic "An error occurred while searching the web". The detailed tool output ("Zobrazit výsledek z web.run") shows an empty string
""as the result of the tool call.This failure occurs despite the fact that a manual
curltest from inside the sameopen-webuicontainer to the exact same endpoints (https://caddyandhttp://searxng:8080) is 100% successful, returning a valid JSON payload. This proves the network, DNS, and server configurations are all correct.Steps to Reproduce
Setup the environment with the following files:
docker-compose.yml:Caddyfile:Launch the stack:
Configure Open WebUI:
http://localhost:8080. Create an admin account.https://caddy/search?q=<query>&format=jsonTest:
Observe:
"".Logs & Screenshots
The problem is best demonstrated by the following test. The application fails, but a manual
curltest from inside the exact same container succeeds perfectly. This proves the issue is with the application's HTTP client, not the environment.1. Open WebUI Tool Log (The Failure)
This is what the tool returns in the UI:
2. SUCCESSFUL
curlTest from inside theopen-webuicontainer (The Proof)This test proves the network path is fully functional.
Additional Information
After deep investigation, the root cause was found in the source code.
The web search functionality for SearXNG is handled by the file
backend/open_webui/retrieval/web/searxng.py.In this file, the HTTP request is made using the
requestslibrary:https://github.com/open-webui/open-webui/blob/main/backend/open_webui/retrieval/web/searxng.py#L90-L101
@PurpleBanana-ai commented on GitHub (Oct 5, 2025):
This is my first time commenting on here so forgive me if I am not in alignment with the policies. I just wanted to put out there that I am experiencing the same issue outside of docker. I noticed in the contrib guide, docker configs were called out specifically. I am running the same version of open-webui as above v.0.6.32, but I am running on Ubuntu 24 in a conda venv and using uvx to lauch. My SearXNG instance is in a venv as well, just on a different machine in my local network.
I can perform a curl command from within my open-webui venv using https and get results, however in my open-webui interface I have to use http in order for the chat to provide results. When I pull a query on the postgresql config table, I can see the "ssl_verification" variable = true. I have also verified the ssl cert is in the project directory, and can access the search instance from any other device or browser without error.
If there is any other information I can provide to help just let me know, or if this is not correctly posted, I apologize.
Thank you for providing such a great system.