Предопределенный 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>