minio presigned获取网址403 SignatureDoesNotMatch

时间:2019-07-03 15:22:54

标签: docker go docker-compose containers minio

获取对象的预签名URL(由我的golang服务器端代码生成)以403(SignatureDoesNotMatch)失败,但是我从minio浏览器(https:domain.com:9000 /)获得的预签名URL可以按预期工作(可以从服务器下载图像)

此问题存在于我的登台服务器中,其中有多个服务由docker-compose运行:前端,restful api,mysql和minio,它们在隔离的容器中运行。

以下是minio服务的docker-compose配置:

  minio:
    container_name: minio
    image: minio/minio:RELEASE.2019-06-11T00-44-33Z
    volumes:
      - "./.minio/data:/data"
    #      - "./.minio/conf/minio.cnf:/root/.minio"
    ports:
      - "9000:9000"
    restart: always
    environment:
      MINIO_ACCESS_KEY: W2SPAEGFUKISFTZ53EW2
      MINIO_SECRET_KEY: +uzhExt04MPooPa+j+PBijzC7HOdrpJHFaQK7PSG
      TZ: Asia/Shanghai
    command: server /data

当我在浏览器中访问预签名的url(由我的golang代码生成)时,出现以下错误消息,但是,如果我使用从minio浏览器获得的预签名的url,它将起作用(我可以下载在minio中上传的图像服务器)

<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
<Key>1NVUCVJPLyS2okhlqtENB47bmFy.JPG</Key>
<BucketName>picture</BucketName>
<Resource>/picture/1NVUCVJPLyS2okhlqtENB47bmFy.JPG</Resource>
<RequestId>15ADED649D847B74</RequestId>
<HostId>4b5e8cee-8cc3-466c-8fda-441ac2ca0d79</HostId>
</Error>

0 个答案:

没有答案