Can't connect to S3 compatible endpoints


We are using OVH for our S3 object storage. They have many datacenters around the world, which use different region names than AWS.
Instead of us-east-1, ca-central-1, eu-north-1, etc, they use the following regions names: bhs, de, gra, uk, sbg, waw

In our case, we are using the endpoint:
When we try to connect with the infscape-appliance, it doesn’t recognize “bhs” and assume “us-east-1” instead. Consequently, we get this error:

WARNING: AWS-Client: Encountered Unknown AWSError ‘AuthorizationHeaderMalformed’: The authorization header is malformed; the region ‘us-east-1’ is wrong; expecting ‘bhs’

From our experience, there are 2 workarounds:

  1. specify the correct region name in config files
  2. specify to use Signature version 2 of the protocol (This version doesn’t check the region name)

My questions:

  1. How can I specify a custom s3 region name in infscape-appliance?
    I have looked around and I didn’t find a config file that I could change.

  2. Alternatively, how can I specify to use a Signature version 2?


This is the second service where this is a problem ( The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'fr-par' ), so adding a field does seem to be necessary.

It’s annoying, because it is redundant information if the service already needs a specific endpoint. The S3 service shoud just ignore the region header.

Thank you for the followup.
I will be glad to test the fix as soon as it gets available.

Will the fix be available in the next version?
We are ready to test !

Got wrapped up in other changes. If you want to test replace the “24” at with “27”, e.g.

wget && bash

Thanks for adding the “Override S3 region” field.
We can now specify the proper region name.

Urbackup now works perfectly with our provider S3 storage service!