SignatureDoesNotMatch with DigitalOcean Spaces presigned URL

I keep getting SignatureDoesNotMatch errors with pre-signed URL PUT requests for uploading files. I tried both v2 and v4 signature versions, double checked CORS policies and API keys. Regular file upload works, so it’s not an issue with my API keys. I can also reproduce this issue using s3cmd


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Never mind I got it working. For me I had to set x-amz-acl header to match the ACL parameter used to generate the pre-signed URL. I did not have to do this for AWS.

I confirm.

The problem is that with presigned url (putObject), you have to send again all headers specified in the putObject request (acl, metadata, etc).

This is very annoying, with aws is not needed. Can a digitalocean developer explain whether this will be fixed or not?