### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

It seems like whenever I open a connection to `localhost:4566` (4566 being exposed from the localstack container), for the next ~1 second any HTTP calls will have delayed responses. If I open 10 connections, the delay will be 10 seconds.

### Expected Behavior

Multiple connections can be opened and don't impact other requests until a certain connection limit.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

1. run localstack: `docker run --rm -it -p 4566:4566 --name ls localstack/localstack:0.14.0` - I managed to reproduce it with versions as old as 0.12.0
2. run something like this to see how long curls take inside the container: 

```bash
docker exec -it ls /bin/bash

# inside the container:
while true; do time curl localhost:4566; sleep 0.1; done
```

3. open connections with telnet:

```
telnet localhost 4566
```

4. observe extended response times in the curl loop. For me it's ~1s extra per open connection (I'm simulating opening more connections with a JVM application opening sockets as I request).

### Environment

```markdown
- OS: macOS / ubuntu, tried both x86 and arm64 macs, and an arm64 linux
- LocalStack: 0.12.0, 0.13.1, 0.14.0
```


### Anything else?

This surfaces itself as extremely slow responses whenever you have e.g. a JVM application that keeps a cached connection pool. Even 10 connections in a pool are enough to cause consistent delays every couple seconds (which I think is after the connections are closed due to the defaults on my client), under no additional traffic targeting localstack.
cert_pem_file = get_cert_pem_file_path()
        return generate_ssl_cert(cert_pem_file, serial_number=serial_number)
    @classmethod
    def get_flask_ssl_context(cls, serial_number=None):
        if config.USE_SSL:
            _, cert_file_name, key_file_name = cls.create_ssl_cert(serial_number=serial_number)
            return cert_file_name, key_file_name
        return None
class UrlMatchingForwarder(ProxyListener):
    """
    ProxyListener that matches URLs to a base url pattern, and if the request url matches the
    pattern, forwards it to
    a forward_url. See TestUrlMatchingForwarder for how it behaves.
    """
    def __init__(self, base_url: str, forward_url: str) -> None:
        super().__init__()
        self.base_url = urlparse(base_url)
        self.forward_url = urlparse(forward_url)
    def forward_request(self, method, path, data, headers):
        host = headers.get("Host", "")
        if not self.matches(host, path):
            return True
        
        forward_url = self.build_forward_url(host, path)
        
        headers["Host"] = forward_url.netloc
        
        return self.do_forward(method, forward_url.geturl(), headers, data)
    def do_forward(self, method, url, headers, data):