之前一直正常使用Java调用Minio的API,是直接连接的minio的9000端口,没有经过nginx代理,不会出现任何报错。
但是最近在想用nginx来做代理转发,然后各种折腾配置之后还是报签名不匹配的错误;
大致的框架是nginx宿主机,minio使用的docker,项目在另一个docker;
宿主机为172.17.0.1,minio为172.17.0.3,项目172.17.0.2
目前能够访问得到minio后台管理平台,但是无法调用API
后台错误信息如下:
ErrorResponse(code = SignatureDoesNotMatch, message = The request signature we calculated does not match the signature you provided. Check your key and signing method., bucketName = medical-record, objectName = null, resource = /medical-record, requestId = 16DD15872DCA9208, hostId = 057c46a6-2d9c-4dac-ac61-64fe69e41cc3)
request={method=GET, url=http://192.168.1.197:8185/medical-record?location=, headers=Host: 192.168.1.197:8185
Accept-Encoding: identity
User-Agent: MinIO (Windows 10; amd64) minio-java/8.3.7
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date:

博主在尝试通过Nginx代理Minio的API时遇到签名不匹配的错误,尽管可以访问Minio管理平台。错误发生在Java代码中使用MinioClient调用bucketExists()方法时。已排除Python代理转发的问题,确认问题可能出在Nginx配置上。尝试修改了proxy_set_header Host的设置但未解决问题。目前寻求熟悉Minio的大佬帮助解决Nginx代理配置问题。
最低0.47元/天 解锁文章
803





