微信小程序对接minio下载文件签名报错解决
一、整体思路整个流程的核心是由你的Python后端生成一个临时的、有时效性的上传凭证即预签名URLPresigned URL然后小程序使用这个凭证将文件直传到MinIO服务器下载也是一样由你的 Python 后端生成带时效的临时下载凭证预签名 URL小程序拿到 URL 后直接去 MinIO 获取文件流千万不要让后端做“文件下载中转站”具体实现这里不细说AI一键可以生成。我碰到的问题和解决办法小程序上传下载需要https,而我搭建的minio是http协议的可以直接将minio改成https协议。这里针对我这种还是使用http协议的。初始化minio使用的是http协议首先上传比较简单直接将构建的上传url替换成https地址即可不会有签名认证问题。但下载如果同样直接替换会报SignatureDoesNotMatch问题这是因为后端使用的是http的地址进行签名生成的但下载时通过nginx透传给minio的地址是https地址会导致签名不一致。解决办法在nginx代理里的proxy_set_header Host 你的http地址