ECS: S3 not working with signature v4 but does with v2
Summary: S3 signature v4 is supported since ECS code version 3.0 but the connection might fail when the Load Balancer (LB) or proxy server is configured wrong.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Applications such as S3 Browser or CloudBerry Explorer cannot connect to ECS using S3 signature v4 and the below error message can be seen:
The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.Errors shown in dataheadsvc.log:
2018-02-08T01:02:22,160 [qtp1281445260-47251-ac16c920:16153c4ec5b:5428:a-s3-192.168.x.x] ERROR S3V4Signer.java (line 270) Signature mismatch CalcSignature: 1beacc1d4410c0d39a18e99b241a8c430ad7f76f030a54595406901feddfddb1, ClientSignature: 874250cee333e6aba9b12abfd279516408a083da60d0b1cc3f8b196a6fe8cdb1 2018-02-08T01:02:22,160 [qtp1281445260-47251-ac16c920:16153c4ec5b:5428:a-s3-192.168.x.x] ERROR S3V4Signer.java (line 270) Signature mismatch CalcSignature: 1beacc1d4410c0d39a18e99b241a8c430ad7f76f030a54595406901feddfddb1, ClientSignature: 874250cee333e6aba9b12abfd279516408a083da60d0b1cc3f8b196a6fe8cdb1 2018-02-08T01:02:22,160 [qtp1281445260-47251-ac16c920:16153c4ec5b:5428:a-s3-192.168.x.x] ERROR HMACAuthenticationHandler.java (line 178) authenticate failed. RequestId ac16c920:16153c4ec5b:5428:a. Error com.emc.storageos.data.api.service.impl.resource.s3.S3ExceptionUsing S3 signature v2 is working.
Cause
Either Load Balancer or Proxy Server was changing host header to point to different end point than what was configured.
Resolution
Get answers to the below questions:
- What ECS Version is installed? S3 Signature v4 is supported since ECS 3.0.
- What version of tools used such as Cloudberry Explorer, S3 Browser?
- Is the connection using Load Balancer or Proxy Server?
- If yes: Try the v4 connection by using an ECS node as endpoint
- If this is working, have the client further investigate the settings of Load Balancer or Proxy Server
For Apache the below settings should be verified: Turn this option on to preserve the Host header.
ProxyPreserveHost Directive Description: Use incoming Host HTTP request header for proxy request Syntax: ProxyPreserveHost On|Off Default: ProxyPreserveHost Off Context: server config, virtual host, directory Status: Extension Module: mod_proxy Compatibility: Usable in directory context in 2.3.3 and later. When enabled, this option will pass the Host: line from the incoming request to the proxied host, instead of the hostname specified in the ProxyPass line. This option should normally be turned Off. It is mostly useful in special configurations like proxied mass name-based virtual hosting, where the original Host header needs to be evaluated by the backend server.
More details can be found here: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypreservehost
Additional Information
Affected Products
ECS ApplianceProducts
ECS Appliance, Elastic Cloud StorageArticle Properties
Article Number: 000034122
Article Type: Solution
Last Modified: 28 Aug 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.