minio preigned get url 403 ПодписьDoesNotMatch - PullRequest
0 голосов
/ 03 июля 2019

Предопределенный URL-адрес (который генерируется моим кодом на стороне сервера golang) получения объекта завершился неудачно с 403 (SignatureDoesNotMatch), но предопределенный URL-адрес, полученный мной из браузера minio (https: domain.com: 9000 /), работает должным образом (можетзагрузить образ с сервера)

Эта проблема существует на моем промежуточном сервере, где Docker-compose запускает несколько служб: frontend, restful api, mysql и minio, они запускаются в изолированном контейнере.

Ниже приведена конфигурация docker-compose для сервиса minio:

  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), я получаю сообщение об ошибке ниже, однако, если я использую предопределенный URL-адрес, получаемый из браузера minio, он работает (я могу загрузить изображение, загруженное на сервер 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>
...