diff --git a/pkg/infra/httpclient/httpclientprovider/http_client_provider.go b/pkg/infra/httpclient/httpclientprovider/http_client_provider.go index 5447999a1fd..13ef9674c1c 100644 --- a/pkg/infra/httpclient/httpclientprovider/http_client_provider.go +++ b/pkg/infra/httpclient/httpclientprovider/http_client_provider.go @@ -32,10 +32,6 @@ func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer RedirectLimitMiddleware(validator), } - if cfg.SigV4AuthEnabled { - middlewares = append(middlewares, awssdk.SigV4Middleware(cfg.SigV4VerboseLogging)) - } - if httpLoggingEnabled(cfg.PluginSettings) { middlewares = append(middlewares, HTTPLoggerMiddleware(cfg.PluginSettings)) } @@ -44,6 +40,11 @@ func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer middlewares = append(middlewares, GrafanaRequestIDHeaderMiddleware(cfg, logger)) } + // SigV4 signing should be performed after all headers are added + if cfg.SigV4AuthEnabled { + middlewares = append(middlewares, awssdk.SigV4Middleware(cfg.SigV4VerboseLogging)) + } + setDefaultTimeoutOptions(cfg) return newProviderFunc(sdkhttpclient.ProviderOptions{