<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[x] bug report
[ ] feature request

# Detailed description

Using node.js AWS SDK function `getObject` returns object with `0` bytes using 4566 port. 
On port 4572 it works fine.

# Steps to reproduce

## Command used to start LocalStack

```
  localstack:
    image: localstack/localstack
    networks:
      - localstack-network
    ports:
      - 4566:4566
      - 4572:4572
      - 8080:8080
    environment:
      - DEBUG=1
      - HOSTNAME_EXTERNAL=localstack
      - SERVICES=sqs,lambda,cloudwatch,s3,iam,ec2,stepfunctions,cloudwatchlogs
      - LAMBDA_REMOTE_DOCKER=false
      - LAMBDA_EXECUTOR=docker
      - LAMBDA_DOCKER_NETWORK=localstack-network
      - AWS_ACCESS_KEY_ID=123
      - AWS_SECRET_ACCESS_KEY=xyz
      - DEFAULT_REGION=us-east-1
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /tmp/localstack:/tmp/localstack
```

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)

```
export const s3 = new AWS.S3({
  endpoint: `http://localhost:4566`,
  s3ForcePathStyle: true,
  sslEnabled: false
});

const { Body } = await s3.getObject({
 Bucket: 'bucket',
 Key: 'file.json'
}).promise();
```
bucket_name = 'test-bucket-%s' % short_uid()
        key = 'test.file'
        hostname_before = config.HOSTNAME_EXTERNAL
        config.HOSTNAME_EXTERNAL = 'foobar'
        try:
            content = 'test content 123'
            acl = 'public-read'
            self.s3_client.create_bucket(Bucket=bucket_name)
            
            response = self._perform_multipart_upload(bucket=bucket_name, key=key, data=content, acl=acl)
            expected_url = '%s://%s:%s/%s/%s' % (get_service_protocol(), config.HOSTNAME_EXTERNAL,
                config.PORT_S3, bucket_name, key)
            self.assertEqual(expected_url, response['Location'])
            
            self.s3_client.put_object_acl(Bucket=bucket_name, Key=key, ACL=acl)
            
            downloaded_object = self.s3_client.get_object(Bucket=bucket_name, Key=key)
            self.assertEqual(to_str(downloaded_object['Body'].read()), content)
            
            download_url = response['Location'].replace('%s:' % config.HOSTNAME_EXTERNAL, 'localhost:')
            response = safe_requests.get(download_url)
            self.assertEqual(response.status_code, 200)
            self.assertEqual(to_str(response.content), content)
        finally:
            config.HOSTNAME_EXTERNAL = hostname_before
    def test_s3_website_errordocument(self):