# Bug report

# Detailed description

The `AWS.s3.upload()` (official SDK - https://github.com/aws/aws-sdk-js) returns an object with the `Location` key that points to 4566 instead of 4572 (LocalStack S3 port).

## Expected behavior

The `Location` should point to the file on S3.

Example:

```
Location: http://localhost:4572/path/to/bucket.txt
```

## Actual behavior

The `Location` points to the LocalStack entrypoint.

Example:

```
Location: http://localhost:4566/path/to/bucket.txt
```

# Steps to reproduce

- Upload a file to S3 using the official AWS SDK (https://github.com/aws/aws-sdk-js).
- Check out the `Location` property.

## Client code

```javascript
const AWS = require('aws-sdk');
const s3 = new AWS.S3({
  region: 'us-west-1',
  endpoint: 'http://localhost:4566',
  apiVersion: '2006-03-01',
  s3ForcePathStyle: true,
});

(async () => {
  await s3
    .createBucket({ Bucket: 'my-bucket', ACL: 'private' })
    .promise();

  const { Location } = await s3
    .upload({ Key: 'file.txt', Body: 'test', Bucket: 'my-bucket' })
    .promise();

  console.assert(Location === 'http://localhost:4572/my-bucket/file.txt');
})();
```
self.assertEqual(status, 1)
        container_network = executor.get_docker_container_network(func_arn)
        self.assertEqual(container_network, 'default')
        executor.cleanup()
        status = executor.get_docker_container_status(func_arn)
        self.assertEqual(status, 0)
        self.assertEqual(len(executor.get_all_container_names()), 0)
        
        testutil.delete_lambda_function(func_name)
    def test_docker_command_for_separate_container_lambda_executor(self):
        
        if not isinstance(lambda_api.LAMBDA_EXECUTOR,
                          lambda_executors.LambdaExecutorSeparateContainers):
            return
        executor = lambda_api.LAMBDA_EXECUTOR
        func_name = 'test_docker_command_for_separate_container_lambda_executor'
        func_arn = lambda_api.func_arn(func_name)
        handler = 'handler'
        lambda_cwd = '/app/lambda'
        network = 'compose_network'
        config.LAMBDA_DOCKER_NETWORK = network
        cmd = executor.prepare_execution(func_arn, {}, LAMBDA_RUNTIME_NODEJS810, '', handler, lambda_cwd)
        expected = 'docker run -v "%s":/var/task   --network="%s"  --rm "lambci/lambda:%s" "%s"' % (
            lambda_cwd, network, LAMBDA_RUNTIME_NODEJS810, handler)
        self.assertIn(('--network="%s"' % network), cmd, 'cmd=%s expected=%s' % (cmd, expected))
        config.LAMBDA_DOCKER_NETWORK = ''
    def test_destroy_idle_containers(self):
        
        if not isinstance(lambda_api.LAMBDA_EXECUTOR,
                          lambda_executors.LambdaExecutorReuseContainers):