### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

hi guys,

I'm stuggling to test our S3 logic locally. The service that calls localstack s3 is getting the following error:
`2023-11-13 15:45:57 com.amazonaws.services.s3.model.AmazonS3Exception: There were headers present in the request which were not signed (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: ea7d6d50-1e86-452c-a1c6-00fca1a237a5; S3 Extended Request ID: 9Gjjt1m+cjU4OPvX9O9/8RuvnG41MRb/18Oux2o5H5MY7ISNTlXN+Dz9IG62/ILVxhAGI0qyPfg=; Proxy: null)`

The localstack logs are the following:

> LocalStack version: 3.0.0
LocalStack build date: 2023-11-16
LocalStack build git hash: 3cd32364
2023-11-17T08:46:39.471  INFO --- [-functhread6] hypercorn.error            : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2023-11-17T08:46:39.471  INFO --- [-functhread6] hypercorn.error            : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2023-11-17T08:46:39.723  INFO --- [  MainThread] localstack.utils.bootstrap : Execution of "start_runtime_components" took 903.21ms
Ready.
2023-11-17T08:47:33.276  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.GetBucketAcl => 404 (NoSuchBucket)
2023-11-17T08:47:33.381  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.CreateBucket => 200
2023-11-17T08:47:33.406  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.GetBucketAcl => 404 (NoSuchBucket)
2023-11-17T08:47:33.413  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.CreateBucket => 200
2023-11-17T08:47:33.425  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.GetBucketAcl => 404 (NoSuchBucket)
2023-11-17T08:47:33.432  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.CreateBucket => 200
2023-11-17T08:47:40.277  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.HeadObject => 404 (NoSuchKey)
2023-11-17T08:47:40.278  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.HeadObject => 404 (NoSuchKey)
2023-11-17T08:47:40.281  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.HeadObject => 404 (NoSuchKey)
2023-11-17T08:47:40.330  WARN --- [   asgi_gw_1] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.332  WARN --- [   asgi_gw_0] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.334  WARN --- [   asgi_gw_2] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.344  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.344  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.345  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.372  WARN --- [   asgi_gw_0] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.374  WARN --- [   asgi_gw_1] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.376  WARN --- [   asgi_gw_2] l.s.s3.presigned_url       : Signatures do not match, but not raising an error, as S3_SKIP_SIGNATURE_VALIDATION=1
2023-11-17T08:47:40.378  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.379  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.380  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutObject => 200
2023-11-17T08:47:40.403  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:40.409  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:40.411  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:41.430  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:41.470  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:41.471  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:44.439  INFO --- [   asgi_gw_0] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:44.483  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:44.485  INFO --- [   asgi_gw_2] localstack.request.aws     : AWS s3.PutObject => 403 (AccessDenied)
2023-11-17T08:47:48.788  INFO --- [  MainThread] l.runtime.shutdown         : [shutdown] Stopping all services

Localstack docker-compose:

>   localstack-s3-bucket:
    image: localstack/localstack:3.0.0
    environment:
      SERVICES: s3
    ports:
      - 4566:4566

I added the following env vars to the service that calls localstack s3:

>  - "AWS_ACCESS_KEY_ID=test"
      - "AWS_SECRET_ACCESS_KEY=test"

Also I make sure that the AmazonS3 client creation gets the same as login and password.

I read few issues here and I found similar, but these was mostly for previous versions for localstack S3. Also tried the PROVIDER_OVERRIDE_S3 = asf, but as I know its for localstack 2.x, and not for 3, since in localstack 3 this is the default provider.

The code that calls S3 putobject is the following:

> @S3Retryable
    public void putObject(String fileName, InputStream inputStream, ObjectMetadata metadata) {
        final var url = s3storage.generatePresignedUrl(new GeneratePresignedUrlRequest(s3bucketName, fileName, HttpMethod.PUT));
        s3storage.upload(new PresignedUrlUploadRequest(url)
              .withInputStream(inputStream)
              .withMetadata(metadata));
    }

Can you please guys help me?

In case of any information needed, just reply and I'll try to tell them.





### Expected Behavior

There should not be 403 AccessDenied errors.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

To be honest, I was trying to create small code snippets, but I was not really able to reproduce the error with small codes, just with our framework that using Flink. Getting records from kafka, putting and deleting from S3.

### Environment

```markdown
- OS: Windows 10
- LocalStack: 3.0.0
- Java: 11
```


### Anything else?

_No response_
import base64
import contextlib
import datetime
import gzip
import hashlib
import io
import json
import logging
import os
import shutil
import tempfile
import time
from importlib.util import find_spec
from io import BytesIO
from operator import itemgetter
from typing import TYPE_CHECKING
from urllib.parse import SplitResult, parse_qs, quote, urlencode, urlparse, urlunsplit
import boto3 as boto3
import pytest
import 
import xmltodict
from boto3.s3.transfer import KB, TransferConfig
from botocore import UNSIGNED
from botocore.auth import SigV4Auth
from botocore.client import Config
from botocore.exceptions import ClientError
from zoneinfo import ZoneInfo
import localstack.config
from localstack import config
from localstack.aws.api.lambda_ import Runtime