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.S3Exception
Using 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#proxypreservehostThis hyperlink is taking you to a website outside of Dell Technologies.

Additional Information


Affected Products

ECS Appliance

Products

ECS Appliance, Elastic Cloud Storage
Article 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.