如何修改 Dify 文件上传限制(15MB 到更大)
在使用 Dify 平台时,你可能会遇到文件上传大小限制为 15MB 的情况,这对于上传大型知识库文件来说可能不够。本文将详细指导你如何调整 Dify 配置文件,以解除这一限制并允许上传更大的文件。
修改成功展示
这里我直接改成1GB了,嘿嘿嘿
关键参数解析
要将 Dify 的文件上传限制修改得更大,你需要调整 Dify 配置文件中的相关参数。根据 Dify 的配置,关键的参数有两个:
1. UPLOAD_FILE_SIZE_LIMIT
这个参数直接控制 知识库上传文件的大小限制(单位是 MB)。
在你的 dify/.env
文件中,你可以找到类似下面这行:
# Upload file size limit, default 15M.
UPLOAD_FILE_SIZE_LIMIT=15
将 15
修改为你期望的更大值,例如 50
(表示 50MB) 或 100
(表示 100MB)。
2. NGINX_CLIENT_MAX_BODY_SIZE
(如果使用 Nginx 作为反向代理)
当 Dify 使用 Nginx 作为 Web 服务器或反向代理时,Nginx 也会有一个客户端请求体大小的限制。这个限制需要 大于或等于 你在 UPLOAD_FILE_SIZE_LIMIT
中设置的值,否则 Nginx 会首先拒绝过大的文件上传请求。
在你的 dify/.env
文件中,通常在 Nginx 配置部分,你会找到类似下面这行:
# Nginx performance tuning
NGINX_CLIENT_MAX_BODY_SIZE=15M
将其修改为一个大于或等于 UPLOAD_FILE_SIZE_LIMIT
的值。例如,如果你将 UPLOAD_FILE_SIZE_LIMIT
设置为 50
,那么这里可以设置为 50M
或更大。
修改步骤
1. 编辑 .env
文件
打开你的 Dify 项目根目录下的 .env
文件(Dify 较新的版本将配置从 .env.yaml
迁移到了 .env
文件)。
- 找到
UPLOAD_FILE_SIZE_LIMIT
并修改其值。 - 如果你使用了 Dify 官方推荐的 Docker Compose 部署方式并且 Nginx 配置也在此文件中,请同时找到并修改
NGINX_CLIENT_MAX_BODY_SIZE
。
示例修改内容:
假设你希望将上传限制调整到 100MB:
# Upload file size limit, default 15M.
UPLOAD_FILE_SIZE_LIMIT=100
# ... 其他配置 ...
# Nginx performance tuning
NGINX_CLIENT_MAX_BODY_SIZE=100M
2. 重启 Dify 服务
修改并保存 .env
文件后,你需要重启 Dify 的相关服务以使更改生效。如果你使用 Docker Compose 部署 Dify,通常的命令是进入到包含 docker-compose.yaml
文件的目录,然后运行:
docker compose down
docker compose up -d
或者,根据你的具体部署方式进行重启。
重要提示
- 资源消耗: 设置过大的文件上传限制可能会消耗更多的服务器资源(内存、磁盘空间、网络带宽)并可能影响应用性能。请根据你的服务器能力和实际需求合理设置。
- 多层代理: 如果你的 Dify 部署架构中,除了 Nginx 还有其他反向代理或负载均衡器(例如 AWS ALB/ELB, Cloudflare 等),它们可能也有自己的请求体大小限制,需要一并调整,否则即使 Dify 和 Nginx 配置正确,请求仍然可能被外部代理拒绝。
- 文件位置: 确保你修改的是正确环境下的
.env
文件。
完成以上步骤后,你现在应该能够上传大于 15MB 的文件了(在你的新设定的限制之内)。
希望这篇博客文章对你有帮助!如果你在修改过程中遇到任何问题,欢迎在评论区留言。