Open-WebUI首次调用AI API时响应极慢,开启Clash代理后速度正常。排查发现是Ubuntu 24.04环境代理问题,通过在环境变量设置no_proxy绕过代理,并配置Nginx相关代理规则后,成功实现秒级响应。
在使用Open-WebUI 过程中发现一个非常奇怪的问题,就是不打卡clash 调用AI提供商的API 的时候,回复的非常慢,有次都要1个小时后才有结果返回,只要回复成功,后面再次调用的时候就不会很慢;
但是首次使用openwebui,打开了clash (非openwebui的部署环境)后,回复速度非常的快;
之前怀疑过open-webui 没有优化好,就配置了数据库,redis,向量数据库等,查看openwebui 日志 也没发现过问题,貌似并没有起到效果;
也查看了防火墙,是否有接口被拦截了,发现也没有接口被防火墙拦截掉;
也不知道使用open-webui 的环境是不是有接口URL 需要访问外网,才能正常使用,还是免费开源项目故意设计的问题;
解决方法:
1、目前只能是打开clash使用;
2、最新解决方法:应该是Ubuntu 24.04 环境clash 代理问题;最终解决办法是在环境变量里添加绕过代理的设置(no_proxy=Ubuntu 环境的外网IP和open-webui 外网域名),同时clash要开启全局代理;具体操作方法如下:
# 在Ubuntu 24.04 环境下执行下面的命令行,添加no_proxy环境变量
export no_proxy=192.168.31.2,ai.saiita.cn
或者在open-webui 添加systemctl 里no_proxy环境变
3、2025年11月30日:还是要开着clash,才能正常使用,搞不懂;
4、需要在nginx 配置文件添加下面的配置项,貌似不会返回消息慢了,应该是解决问题了,现在秒回复消息;
主nginx 配置文件
# API 代理配置(排除 WebSocket)
location ~ ^/(api|ollama|openai)/ {
proxy_pass http://127.0.0.1:8088;
# 更安全的 CORS 配置
if ($http_origin ~* ^https?://(ai\.saiita\.cn|www\.saiita\.com\.cn|localhost)(:[0-9]+)?$) {
set $cors_origin $http_origin;
}
# CORS 头
add_header 'Access-Control-Allow-Origin' $cors_origin always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
# OPTIONS 预检请求
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
# 其他代理头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /v1 {
proxy_set_header Host api.openai.com;
proxy_pass https://api.openai.com/v1;
proxy_ssl_name api.openai.com;
proxy_ssl_server_name on;
proxy_pass_request_headers on;
proxy_http_version 1.1;
proxy_buffering off;
proxy_request_buffering off;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
nginx反向代理添加下面的配置项
proxy_buffering off;
proxy_request_buffering off;
proxy_ignore_client_abort on;
proxy_buffer_size 4k;
proxy_buffers 4 4k;
proxy_busy_buffers_size 8k;
proxy_set_header Connection "keep-alive";
nginx完整的反向代理添加下面的配置
#PROXY-START/
location ^~ /
{
proxy_pass http://127.0.0.1:8088;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
proxy_buffering off;
proxy_request_buffering off;
proxy_ignore_client_abort on;
proxy_buffer_size 4k;
proxy_buffers 4 4k;
proxy_busy_buffers_size 8k;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileUuKWYjdn 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileUuKWYjdn 1;
expires 1m;
}
if ( $static_fileUuKWYjdn = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
open-webui 环境变量说明
no_proxy
- 类型:
str - 描述: 列出不应使用代理的域扩展名(或 IP 地址),用逗号分隔。例如,将 no_proxy 设置为 '.mit.edu' 确保在访问来自 MIT 的文档时绕过代理。

暂无评论
要发表评论,您必须先 登录