折腾Fastgpt(v4.14.4),知识库上传文件 Failed to create post presigned url
1、起因
因为在内网测试和调试Fastgpt(v4.14.4),其他都正常。到知识库或对话时,上传文件,提示 Failed to create post presigned url。
首先要确保 电脑时间一致,确保服务器时间和你的电脑时间一致(误差 > 15分钟会导致签名失效)。
2、配置时间
修改 docker-compose.yml
在 fastgpt 和 minio 服务的 volumes 栏目下添加以下两行:
services:
fastgpt:
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
minio:
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
重启容器,同步时间后,不再提示 Failed to create post presigned url。
3、内网使用配置
因内网使用,S3公网也是内网IP,所以要加上S3_REGION: us-east-1,不然会超时。
如内网使用,附配置文件:
x-share-db-config: &x-share-db-config
MONGODB_URI: mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin
DB_MAX_LINK: 100
REDIS_URL: redis://default:mypassword@redis:6379
S3_EXTERNAL_BASE_URL: http://192.168.1.8:9000 # S3 的公网访问地址
S3_ENDPOINT: fastgpt-minio
S3_PORT: 9000
S3_USE_SSL: false
S3_REGION: us-east-1
S3_FORCE_PATH_STYLE: true
S3_ACCESS_KEY: minioadmin
S3_SECRET_KEY: minioadmin
S3_PUBLIC_BUCKET: fastgpt-public # 公开读私有写桶
S3_PRIVATE_BUCKET: fastgpt-private # 私有读写桶
4、重要提示。
如果出现网络错误,请检查外S3 的公网访问地址S3_EXTERNAL_BASE_URL参数
内网使用时,上传的文件,各模型的APi是无法访问上传的文件。最后还是要有公网的minio接口。