Dify 공통 문제 해결

Dify 공통 문제 해결 (Common Issues)

배포하면서 자주 마주치는 문제들을 분야별로 정리했어요. 비슷한 증상이 보이면 이 문서에서 해결책을 찾아보세요.

인증·접근 (Authentication & Access)

관리자 비밀번호 초기화

Docker Compose 배포라면:

docker exec -it docker-api-1 flask reset-password

프롬프트가 나오면 계정 이메일과 새 비밀번호를 입력해요. 소스 코드 배포라면 api 디렉터리에서 같은 명령을 실행하면 됩니다.

로그인 후 401 오류

보통 도메인을 바꾼 뒤에 발생해요. 다음 환경 변수들을 업데이트하세요.

  • CONSOLE_CORS_ALLOW_ORIGINS — 콘솔 CORS 정책
  • WEB_API_CORS_ALLOW_ORIGINS — 웹앱 CORS 정책
  • CONSOLE_API_URL — 콘솔 API 백엔드 URL
  • CONSOLE_WEB_URL — 콘솔 웹 프론트엔드 URL
  • SERVICE_API_URL — 서비스 API URL
  • APP_API_URL — 웹앱 API 백엔드 URL
  • APP_WEB_URL — 웹앱 URL

구성을 업데이트한 뒤 재시작하세요.

구성 (Configuration)

기본 포트 변경

.env 구성을 수정합니다.

EXPOSE_NGINX_PORT=80
EXPOSE_NGINX_SSL_PORT=443

API 서비스 포트를 바꾸려면 docker-compose.yaml의 nginx 구성을 업데이트하세요.

파일 업로드 제한 늘리기

.env에서 업데이트합니다.

  • UPLOAD_FILE_SIZE_LIMIT — 최대 파일 크기
  • NGINX_CLIENT_MAX_BODY_SIZE — 문제를 피하려면 일치해야 해요

워크플로 복잡도 제한

web/app/components/workflow/constants.ts에서 MAX_TREE_DEPTH를 조정하세요(기본값: 50). 주의: 깊이가 지나치면 성능에 영향을 줍니다.

노드 실행 타임아웃

.envTEXT_GENERATION_TIMEOUT_MS를 설정해 노드당 런타임을 제어할 수 있어요.

이메일 구성 (Email Configuration)

비밀번호 재설정 이메일이 안 오나요? .env에서 메일 설정을 구성하세요.

  1. 메일 파라미터(SMTP 설정) 구성
  2. 서비스 재시작:
docker compose down
docker compose up -d

그래도 이메일이 안 오면 스팸 폴더를 확인해보세요.

이메일 서비스 없이 멤버 초대

이메일을 구성하지 않은 로컬 배포에서는, 초대 페이지가 전송 후 링크를 보여줘요. 이 링크를 복사해 사용자에게 수동으로 전달하세요.

데이터베이스 문제 (Database Issues)

pg_hba.conf 연결 오류

다음 같은 오류가 보인다면:

FATAL: no pg_hba.conf entry for host "172.19.0.7", user "postgres", database "dify", no encryption

오류에 나온 네트워크 세그먼트에서의 연결을 허용하세요.

docker exec -it docker-db-1 sh -c "echo 'host all all 172.19.0.0/16 trust' >> /var/lib/postgresql/data/pgdata/pg_hba.conf"
docker-compose restart

암호화 키 파일을 찾을 수 없다는 오류

배포 방식을 바꾸거나 api/storage/privkeys를 삭제한 뒤 발생하는 오류예요.

FileNotFoundError: File not found
File "/www/wwwroot/dify/dify/api/libs/rsa.py", line 45, in decrypt

암호화 키 페어를 초기화하세요. Docker Compose:

docker exec -it docker-api-1 flask reset-encrypt-key-pair

소스 코드(api 디렉터리에서):

flask reset-encrypt-key-pair

이 작업은 되돌릴 수 없어요. 기존 LLM 자격 증명과 도구 자격 증명(내장·커스텀·MCP 도구)이 모든 워크스페이스에서 삭제되므로 다시 입력해야 합니다.

워크스페이스 관리 (Workspace Management)

워크스페이스 이름 변경

데이터베이스의 tenants 테이블을 직접 수정하세요.

애플리케이션 접근 도메인 변경

docker-compose.yaml에서 APP_WEB_URL을 업데이트하세요.