sqs.changeMessageVisibility according to [this](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html#API_ChangeMessageVisibility_Examples) makes a request directly to the Queue's URL rather than via the SQS Endpoint. (I'm already setting SQS endpoint to LOCALSTACK_HOSTNAME - makes no difference for this call)..

In localstack the queue URL host returned is by default set to the value of HOSTNAME_EXTERNAL, which I'm setting to localstack, but calling this method within a lambda, does not work and I get the error:

```
UnknownEndpoint: Inaccessible host: `localstack'. This service may not be available in the `us-east-1' region. 
```

So, how can I make the queue URL accessible from within a lambda using localstack? Effectively I need to make **http://localstack** accessible from within lambda.

I'm using the following cmd to start localstack:

```
LAMBDA_EXECUTOR=docker-reuse DEBUG=1 LAMBDA_REMOTE_DOCKER=0 DATA_DIR=/tmp/localstack/data HOSTNAME_EXTERNAL=localstack localstack start
```
bucket_name = normalize_bucket_name(bucket_name)
        host = config.HOSTNAME_EXTERNAL
        if ':' not in host:
            host = '%s:%s' % (host, config.PORT_S3)
        return re.sub(r'<Location>\s*([a-zA-Z0-9\-]+)://[^/]+/([^<]+)\s*</Location>',
            r'<Location>%s://%s/%s/\2</Location>' % (get_service_protocol(), host, bucket_name),
            content, flags=re.MULTILINE)
    @staticmethod
    def is_query_allowable(method, query):
        
        if not query:
            return True
        
        contains_cred = 'X-Amz-Credential' in query and 'X-Amz-Signature' in query
        contains_key = 'AWSAccessKeyId' in query and 'Signature' in query
        if (method == 'POST' and query.startswith('uploadId')) or contains_cred or contains_key:
            return True
UPDATE_S3 = ProxyListenerS3()