[GH-ISSUE #76] InvalidRequest Error while trying to connect to new Frankfurt Region #41

Closed
opened 2026-03-04 01:41:27 +03:00 by kerem · 10 comments
Owner

Originally created by @idvl on GitHub (Oct 26, 2014).
Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/76

Hello,

we currently aren't able to connect to the S3 buckets of the new region (Frankfurt), the error message provided is following:

CheckBucket(2400): Check bucket failed, S3 response: <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidRequest</Code><Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message><RequestId> ...

As far as I know the new region only supports the newest version of the Amazon API (V4), because it was deployed after jan. 2014: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html

Has anybody a clue how to enable V4 and thus enable support for new S3 regions?

Thanks!

Originally created by @idvl on GitHub (Oct 26, 2014). Original GitHub issue: https://github.com/s3fs-fuse/s3fs-fuse/issues/76 Hello, we currently aren't able to connect to the S3 buckets of the new region (Frankfurt), the error message provided is following: ``` CheckBucket(2400): Check bucket failed, S3 response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>InvalidRequest</Code><Message>The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.</Message><RequestId> ... ``` As far as I know the new region only supports the newest version of the Amazon API (V4), because it was deployed after jan. 2014: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html Has anybody a clue how to enable V4 and thus enable support for new S3 regions? Thanks!
kerem closed this issue 2026-03-04 01:41:28 +03:00
Author
Owner

@Halderian commented on GitHub (Nov 4, 2014):

Maybe this will help:

https://forums.aws.amazon.com/thread.jspa?messageID=581365

Next version of s3fs-fuse should use the new API to support AWS4 signatures to be able to communicate with region Frankfurt.

<!-- gh-comment-id:61620602 --> @Halderian commented on GitHub (Nov 4, 2014): Maybe this will help: https://forums.aws.amazon.com/thread.jspa?messageID=581365 Next version of s3fs-fuse should use the new API to support AWS4 signatures to be able to communicate with region Frankfurt.
Author
Owner

@Halderian commented on GitHub (Nov 17, 2014):

Here some more hints:

http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html

Will this be fixed?

<!-- gh-comment-id:63374990 --> @Halderian commented on GitHub (Nov 17, 2014): Here some more hints: http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html Will this be fixed?
Author
Owner

@bushev commented on GitHub (Nov 20, 2014):

  • 1 When will be the solution?
<!-- gh-comment-id:63804842 --> @bushev commented on GitHub (Nov 20, 2014): + 1 When will be the solution?
Author
Owner

@imrehg commented on GitHub (Jan 13, 2015):

Just tried this as well on a bucket that happens to be in Frankfurt. Here's the result from the debug and running it in the foreground:

set_moutpoint_attribute(3379): PROC(uid=1000, gid=1000) - MountPoint(uid=1000, gid=1000, mode=40755)
FUSE library version: 2.9.3
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.23
flags=0x0003f7fb
max_readahead=0x00020000
s3fs_init(2650): init
s3fs_check_service(2968): check services.
    CheckBucket(2367): check a bucket.
    RequestPerform(1572): connecting to URL http://xxxxxxxx.s3.amazonaws.com/
RequestPerform(1705): ### CURLE_HTTP_RETURNED_ERROR
RequestPerform(1710): HTTP response code =400
s3fs: Failed to access bucket.
<!-- gh-comment-id:69703676 --> @imrehg commented on GitHub (Jan 13, 2015): Just tried this as well on a bucket that happens to be in Frankfurt. Here's the result from the debug and running it in the foreground: ``` set_moutpoint_attribute(3379): PROC(uid=1000, gid=1000) - MountPoint(uid=1000, gid=1000, mode=40755) FUSE library version: 2.9.3 nullpath_ok: 0 nopath: 0 utime_omit_ok: 0 unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0 INIT: 7.23 flags=0x0003f7fb max_readahead=0x00020000 s3fs_init(2650): init s3fs_check_service(2968): check services. CheckBucket(2367): check a bucket. RequestPerform(1572): connecting to URL http://xxxxxxxx.s3.amazonaws.com/ RequestPerform(1705): ### CURLE_HTTP_RETURNED_ERROR RequestPerform(1710): HTTP response code =400 s3fs: Failed to access bucket. ```
Author
Owner

@Halderian commented on GitHub (Jan 14, 2015):

There is already an implementation for generating the signatures at

https://github.com/bradclawsie/awsv4-cpp

It just needs to be implemented.
Please fix this problem. Some peoble are waiting for this feature. It is open for nearly 4 months now.

<!-- gh-comment-id:69889740 --> @Halderian commented on GitHub (Jan 14, 2015): There is already an implementation for generating the signatures at https://github.com/bradclawsie/awsv4-cpp It just needs to be implemented. Please fix this problem. Some peoble are waiting for this feature. It is open for nearly 4 months now.
Author
Owner

@gdubicki commented on GitHub (Jan 14, 2015):

+1 vote for implementing this

UPDATE: Apparently it's on the way - see commit github.com/s3fs-fuse/s3fs-fuse@bb1f1d3faa . Thank you @ggtakec. :)

<!-- gh-comment-id:69893737 --> @gdubicki commented on GitHub (Jan 14, 2015): +1 vote for implementing this UPDATE: Apparently it's on the way - see commit https://github.com/s3fs-fuse/s3fs-fuse/commit/bb1f1d3faa35734f945afe2c479e5e3de990af24 . Thank you @ggtakec. :)
Author
Owner

@Halderian commented on GitHub (Jan 27, 2015):

+1
This seems to work. But "us-east-1" is hard coded in src/s3fs.cpp in line 92. I changed it to "eu-central-1" to be able to mount the bucket on my Ubuntu 14.04.
Thanks to @ggtakec!

<!-- gh-comment-id:71732799 --> @Halderian commented on GitHub (Jan 27, 2015): +1 This seems to work. But "us-east-1" is hard coded in src/s3fs.cpp in line 92. I changed it to "eu-central-1" to be able to mount the bucket on my Ubuntu 14.04. Thanks to @ggtakec!
Author
Owner

@ggtakec commented on GitHub (Jan 28, 2015):

Hi, all

I'm sorry for replying late.
I have pushed latest codes to dev_sv4 branch now.
It is cleanup codes and adding new "sigv2" option. Then s3fs supports old signature version 2.

@Halderian
you can change end-point by endpoint option. please see man page or codes.

Please take care for that dev_sv4 branch does not support NSS/GnuTLS yet.
It support only openssl version.
I'll work for supporting NSS/GnuTLS, please wait a moment.

Regards,

<!-- gh-comment-id:71876187 --> @ggtakec commented on GitHub (Jan 28, 2015): Hi, all I'm sorry for replying late. I have pushed latest codes to dev_sv4 branch now. It is cleanup codes and adding new "sigv2" option. Then s3fs supports old signature version 2. @Halderian you can change end-point by endpoint option. please see man page or codes. Please take care for that dev_sv4 branch does not support NSS/GnuTLS yet. It support only openssl version. I'll work for supporting NSS/GnuTLS, please wait a moment. Regards,
Author
Owner

@idvl commented on GitHub (Jan 28, 2015):

Great ​news, thanks @ggtakec!

<!-- gh-comment-id:71877493 --> @idvl commented on GitHub (Jan 28, 2015): Great ​news, thanks @ggtakec!
Author
Owner

@ggtakec commented on GitHub (Feb 2, 2015):

Hi, all

I merged codes to master branch.(please see #116 )
It supported following:

  • Supported signature version 4(OpenSSL/NSS/GnuTLS)
  • Added endpoint and sigv2 option
  • Automatically select endpoint(region)/sigv2 as fault tolerant(*)

(*)
If you do not specify endpoint and sigv2 option, s3fs try to connect default("us-east-1") region with sig v4.
And if s3fs can not connect default region, s3fs retry to connect to your bucket's correct region automatically by checking error message from S3.
And at last, when s3fs failed to connect yet, s3fs retry to connect with sig v2.

I closed this issue, and if you find any bugs, please let me know and open new issue.

Regards,

<!-- gh-comment-id:72491590 --> @ggtakec commented on GitHub (Feb 2, 2015): Hi, all I merged codes to master branch.(please see #116 ) It supported following: - Supported signature version 4(OpenSSL/NSS/GnuTLS) - Added endpoint and sigv2 option - Automatically select endpoint(region)/sigv2 as fault tolerant(*) (*) If you do not specify endpoint and sigv2 option, s3fs try to connect default("us-east-1") region with sig v4. And if s3fs can not connect default region, s3fs retry to connect to your bucket's correct region automatically by checking error message from S3. And at last, when s3fs failed to connect yet, s3fs retry to connect with sig v2. I closed this issue, and if you find any bugs, please let me know and open new issue. Regards,
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/s3fs-fuse#41
No description provided.