La url prefirmada (generada por mi código del lado del servidor golang) para obtener el objeto falló con 403 (SignatureDoesNotMatch), pero la url prefirmada que obtuve del navegador minio (https:domain.com:9000/) funciona como se esperaba (puede descargar la imagen de servidor)
Este problema existe en mi servidor de ensayo, donde docker-compose ejecuta varios servicios: frontend, restful api, mysql y minio, se ejecutan en un contenedor aislado.
A continuación se muestra la configuración de docker-compose para el servicio 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 /dataCuando accedo a la url prefirmada (generada por mi código golang) en el navegador, recibo el siguiente mensaje de error, sin embargo, si uso la url prefirmada obtenida del navegador minio, funciona (puedo descargar la imagen que cargué en el servidor 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>