diff --git a/cmd/signature-v4.go b/cmd/signature-v4.go index 333d4ecf3..2e6a0dda4 100644 --- a/cmd/signature-v4.go +++ b/cmd/signature-v4.go @@ -250,7 +250,9 @@ func doesPresignedSignatureMatch(hashedPayload string, r *http.Request, region s query.Set("X-Amz-Algorithm", signV4Algorithm) - if pSignValues.Date.After(time.Now().UTC()) { + // If the host which signed the request is slightly ahead in time (by less than globalMaxSkewTime) the + // request should still be allowed. + if pSignValues.Date.After(time.Now().UTC().Add(globalMaxSkewTime)) { return ErrRequestNotReadyYet }