GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

常见问题解决 --- 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.

原因分析

  1. .env 文件中配置了自定义 Redis 密码 REDIS_PASSWORD=Dify@Redis#2024Strong

  2. 但部分配置文件(如 worker.env)未创建或使用了默认密码 difyai123456

  3. 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

后续建议

  1. 密码管理:如果需要自定义密码,请确保所有 .env 文件中的 REDIS_PASSWORDCELERY_BROKER_URL 配置一致

  2. 配置检查:定期检查 envs/core-services/ 目录下的配置文件,确保没有遗漏的配置

  3. 日志监控:定期查看 Worker 日志,及时发现连接问题

测试验证

修复完成后,请执行以下测试:

  1. 访问 http://192.168.2.5/app/316d6d91-70c2-4613-8f16-d619f79b673b/workflow

  2. 点击"预览"按钮

  3. 验证工作流是否正常执行


修复时间:2026-06-16
修复人:系统管理员
验证状态:✅ 已完成

posted on 2026-06-17 06:58  GKLBB  阅读(3)  评论(0)    收藏  举报