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 백엔드 URLCONSOLE_WEB_URL— 콘솔 웹 프론트엔드 URLSERVICE_API_URL— 서비스 API URLAPP_API_URL— 웹앱 API 백엔드 URLAPP_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). 주의: 깊이가 지나치면 성능에 영향을 줍니다.
노드 실행 타임아웃
.env의 TEXT_GENERATION_TIMEOUT_MS를 설정해 노드당 런타임을 제어할 수 있어요.
이메일 구성 (Email Configuration)
비밀번호 재설정 이메일이 안 오나요? .env에서 메일 설정을 구성하세요.
- 메일 파라미터(SMTP 설정) 구성
- 서비스 재시작:
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을 업데이트하세요.