常见问题解决 --- Dify 工作流预览不执行问题修复文档
问题描述
用户反馈工作流预览页面 http://192.168.2.5/app/316d6d91-70c2-4613-8f16-d619f79b673b/workflow 点击预览按钮后不执行,无任何响应。
问题分析
根本原因
Worker 服务无法连接到 Redis 消息队列,导致工作流执行任务无法被处理。
错误日志
worker-1 | consumer: Cannot connect to redis://:**@redis:6379//: invalid username-password pair or user is disabled.
原因分析
-
.env文件中配置了自定义 Redis 密码REDIS_PASSWORD=Dify@Redis#2024Strong -
但部分配置文件(如
worker.env)未创建或使用了默认密码difyai123456 -
Redis 容器使用
.env中的密码初始化,而 Worker 服务使用默认密码连接,导致认证失败
解决方案
方案选择
选择使用默认密码 difyai123456 统一所有配置,避免密码不一致问题。
修复步骤
# 1. 进入 Dify 目录
cd /opt/dify/docker
# 2. 停止并删除所有容器及数据卷(重置 Redis 密码)
docker compose down -v
# 3. 修改 .env 使用默认密码
sed -i 's/REDIS_PASSWORD=Dify@Redis#2024Strong/REDIS_PASSWORD=difyai123456/g' .env
# 4. 同步所有配置文件的 Redis 连接字符串
find . -name "*.env" -exec sed -i 's/redis:\/\/:Dify@Redis#2024Strong@redis:6379/redis:\/\/:difyai123456@redis:6379/g' {} \;
# 5. 创建 worker.env 文件(如果不存在)
cp envs/core-services/worker.env.example envs/core-services/worker.env
# 6. 重新启动所有服务
docker compose up -d
# 7. 等待启动并验证
sleep 30
docker compose logs worker | tail -20
验证结果
成功标志
Worker 日志显示以下信息表示连接成功:
worker-1 | Connected to redis://:**@redis:6379/1
worker-1 | celery@xxx ready.
最终状态
|
服务 |
状态 |
|---|---|
|
api |
✅ running (healthy) |
|
api_websocket |
✅ running |
|
worker |
✅ running (connected to Redis) |
|
worker_beat |
✅ running |
|
redis |
✅ healthy |
|
sandbox |
✅ healthy |
|
web |
✅ running |
|
nginx |
✅ running |
后续建议
-
密码管理:如果需要自定义密码,请确保所有
.env文件中的REDIS_PASSWORD和CELERY_BROKER_URL配置一致 -
配置检查:定期检查
envs/core-services/目录下的配置文件,确保没有遗漏的配置 -
日志监控:定期查看 Worker 日志,及时发现连接问题
测试验证
修复完成后,请执行以下测试:
-
访问
http://192.168.2.5/app/316d6d91-70c2-4613-8f16-d619f79b673b/workflow -
点击"预览"按钮
-
验证工作流是否正常执行
修复时间:2026-06-16
修复人:系统管理员
验证状态:✅ 已完成
浙公网安备 33010602011771号