在内网部署的 Open WebUI,每次打开都要转圈很久才能进首页,今天开抓包看了一下,发现获取模型列表需要 10 秒左右,难怪进去这么慢
以前还有模型获取不全的问题,后面发现是 PassWall 和 AdGuard Home 冲突导致 DNS 出现问题,域名解析不稳引起的
在内网部署的 Open WebUI,每次打开都要转圈很久才能进首页,今天开抓包看了一下,发现获取模型列表需要 10 秒左右,难怪进去这么慢
以前还有模型获取不全的问题,后面发现是 PassWall 和 AdGuard Home 冲突导致 DNS 出现问题,域名解析不稳引起的
还有模型图标的问题
这玩意还喜欢有啥一起全打包一起发
部署好了还得等它编译,连个读条都不给直接就是连不上
我是js加载很慢
js全部加载要10来秒
你这个可能是服务器连接问题,我这在局域网内部署的就不愁这个问题
我局域网访问
所有的js加载也得10几秒
但是model这个接口很快,1s不到
嘿嘿 Nginx缓存加速
还有获取版本号更新也是慢接口
另外前端文件都没有加cache control 导致要全量下载
你添加了几个上游 API?我这添加了有十个左右
建议用 nginx
图标如果不想折腾外链就老实用 svg
可以参考我的配置
# 定义Nginx全局环境配置
worker_processes 1; # 工作进程数量
# 必须的 events 块
events {
worker_connections 1024; # 每个工作进程的最大连接数
}
# 定义 HTTP 服务
http {
include mime.types; # 加载 MIME 类型
default_type application/octet-stream; # 默认文件类型
sendfile on; # 是否开启文件高效传输
keepalive_timeout 65; # 连接保持时间(秒)
client_max_body_size 1024M;
tcp_nopush on;
tcp_nodelay on;
# 开启 Gzip 压缩
gzip on; # 启用 Gzip 压缩
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss application/vnd.ms-fontobject font/ttf font/otf font/woff font/woff2 image/svg+xml;
gzip_min_length 1024; # 只有超过 1KB 的响应才会被压缩
gzip_comp_level 5; # 压缩级别(1-9,数字越大压缩越强,但占用 CPU 越多)
gzip_http_version 1.1; # 压缩支持的 HTTP 协议版本
gzip_vary on; # 向客户端发送 `Vary: Accept-Encoding` 头
# 配置允许访问的主机名和IP
server {
listen 80; # Nginx 监听的端口
server_name 你的域名 location; # 只允许指定域名访问
# 访问控制 - 仅允许指定域名和局域网IP访问
set $allowed 0;
# 检查是否是允许的域名
if ($host = 你的域名) {
set $allowed 1;
}
if ($host = localhost) {
set $allowed 1;
}
#检查是否是局域网IP
if ($remote_addr ~ ^(10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.)) {
set $allowed 1;
}
# 如果不符合以上条件,则拒绝访问
if ($allowed = 0) {
return 403 "illegal host name";
}
# 缓存和优化静态文件
location /_app/ {
alias D:/openwebui/.venv/Lib/site-packages/open_webui/frontend/_app/; # 定义静态文件的实际路径
expires 30d; # 缓存时间(30天)
access_log off;
add_header Cache-Control "public";
}
location /static/ {
alias D:/openwebui/.venv/Lib/site-packages/open_webui/frontend/static/;
expires 30d; # 缓存时间(30天)
access_log off;
add_header Cache-Control "public";
}
location /index.html {
alias D:/openwebui/.venv/Lib/site-packages/open_webui/frontend/index.html; # 定义静态文件的实际路径
expires 30d; # 缓存时间(30天)
access_log off;
add_header Cache-Control "public";
}
# 配置静态文件路径(用于加速静态资源,如.js/.html等)
location / {
proxy_pass http://127.0.0.1:8080; # 将请求代理到本地80端口服务
proxy_set_header Host $host; # 保持原始请求的Host头
}
# 配置 WebSocket 的代理
location /ws/ {
proxy_pass http://127.0.0.1:8080; # 将 WebSocket 请求代理到后端服务
proxy_http_version 1.1; # 使用 HTTP/1.1 协议
proxy_set_header Upgrade $http_upgrade; # 设置 Upgrade 头(用于 WebSocket)
proxy_set_header Connection "upgrade"; # 设置 Connection 头
proxy_set_header Host $host; # 保持原始请求的Host头
}
# 优化代理缓冲
proxy_buffering on;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_temp_file_write_size 512k;
proxy_busy_buffers_size 256k;
# 优化代理超时设置
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
add_header Strict-Transport-Security "max-age=31536000";
}
}
我压根没配置过图标 我内网都是 IP+端口访问,没用过反代
Openwebui 的服务端优化非常烂,不用 nginx 连本地访问都可能间歇性卡死
owu有些地方搞得很臃肿,明明可以分片发,非得一次性全发出去
嗯,大概四五个渠道,60几个模型
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。