Dify升级到Dify v1.10.1-fix修复CVE-2025-55182漏洞

Dify升级到Dify v1.10.1-fix修复CVE-2025-55182漏洞

背景

一大早就收到阿里云通知的CVE-2025-55182(React)CVE-2025-66478 (Next.js)漏洞风险通知,

受影响的ReactNext.js版本有

经过排查漏洞是来自于Dify,Dify官方也是很给力,很快发布了v1.10.1-fix来修复这两个漏洞

为了修复这两个漏洞,我需要使用docker compose 把windows部署的dify从1.5.1版本升级到v1.10.1-fix版本,并且保留上个版本所有数据。

一、下载Dify1.10.1-fix

由于我的Dify服务器无法访问github,这里使用下载离线包的方式升级

下载地址:https://github.com/langgenius/dify/releases/tag/1.10.1-fix.1

选择合适的版本下载到本地,这里由于我是windows环境部署的dify就下载了zip版本

二、数据备份

进入旧版本dify的/docker目录,备份这三个文件,或者保留整个旧版本的目录先不要删除。

  • volumes目录是数据目录
  • .env文件是dify的环境配置
  • docker-compose.yaml文件是Docker Compose启动dify的配置文件

    我这里保留了整个旧版本dify目录,升级完成以后才做删除。

三、升级

3.1 合适的位置解压最新版的Dify v1.10.1-fix.1,如下图:

注意dify部署目录层级不建议太深,否者拷贝数据目录volumes的时候会出现:"文件名对目标文件夹可能太长,你可以缩短文件名"的问题

3.2 拷贝数据目录volumes到新版本中

删除新版本的docker/volumes, 复制旧版本docker/volumes 目录到新版本的docker/目录下

如果还是出现"文件名对目标文件夹可能太长,你可以缩短文件名"的问题,尝试在 Windows 10 和 11 中启用长路径支持

步骤1:按 Windows 键 + R 打开"运行"对话框,输入"gpedit.msc",然后按 Enter 打开本地组策略编辑器。

步骤2:导航到 计算机配置 > 管理模板 > 系统 > 文件系统。

步骤3:找到并双击"启用 Win32 长路径"。

3.3 同步配置旧配置

由于从dify-1.10.1开始.envdocker-compose.yaml文件和之前版本的配置发生了较大的改变

dify-1.10.1.env数据库的配置,和docker-compose.yaml的数据库服务配置都和之前的版本不同。
如果还是直接使用旧版本的.envdocker-compose.yaml替换掉新版本配置会出现数据无法同步,无法使用等一系列BUG

旧版本的.env中的数据库配置

旧版本的docker-compose.yaml中的数据库配置

dify-1.10.1版本的.env中的数据库配置

dify-1.10.1版本的docker-compose.yaml中的数据库配置

具体方法

1. 复制dify-1.10.1-fix.1\docker\.env.example.env

如下图:

2. 同步旧版本的.env的各项配置到新版的.env

使用默认配置就不需要更改

text 复制代码
具体同步那些配置要看各自的配置,我这里同步了
- NGINX_PORT
- NGINX_SSL_PORT
- EXPOSE_NGINX_PORT
- EXPOSE_NGINX_SSL_PORT

2. 同步旧版本的docker-compose.yaml的各项配置到新版的.env

使用默认配置就不需要更改

text 复制代码
具体同步那些配置要看各自的配置,我这里使用默认配置就不需要同步配置了

3.4 停止旧版本Dify

1. 打开docker.desktop, 打开Terminal,进入老版本的/docker目录

2.停止旧版本dify

cmd 复制代码
docker compose down


3.清理docker 缓存

cmd 复制代码
docker system prune -a

此步骤不是必须,但是建议还是加上,这会清除所有未使用的镜像、容器和缓存。可以在拉取镜像防止受之前的缓存影响

3.5 启动新版本Dify

1. 进入新版本dify的docker目录

2. Docker Compose启动dify

cmd 复制代码
docker compose up -d

如果出现镜像拉不下的问题

cmd 复制代码
 Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

可以试试我配置的镜像加速地址

json 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://dockerproxy.com",
    "https://hub.rat.dev"
  ]
}

3.6重新索引知识库

升级完Dify1.10.1fix版本后,知识库会处于不可用状态,报错信息如下:

text 复制代码
Query call with protocol GRPC search 
failed with message extract target 
vectors: class Vector_index_57c0bdf2_49ab_4f8d_9207_870d6352276c_Node
 does not have named vector default configured. Available named vectors map[].


不用惊慌,这是原本版本过低,升级到1.9新版本以后出现的问题

可以参考解决方案:https://forum.dify.ai/t/grpc/167

解决办法其实很简单,重新修改一下知识库的嵌入模型,我这里将BAAI/bge-m3修改为了BAAI/bge-large-en-v1.5保存,召回测试

这时候召回测试就正常了。

我们在把嵌入模型BAAI/bge-large-en-v1.5改回为BAAI/bge-m3保存,再次召回测试就正常了

3.7 验证

浏览器访问:http://127.0.0.1:8100/apps

数据正常

版本升级OK

模型供应商配置也OK

智能体正常使用

到此 Dify1.5.1 升级到Dify1.10.1-fix完成

相关推荐
Java后端的Ai之路3 小时前
【Python 教程15】-Python和Web
python
那个村的李富贵3 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
冬奇Lab5 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
腾讯云开发者5 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR5 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky6 小时前
大模型生成PPT的技术原理
人工智能
禁默6 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切7 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒7 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站7 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能