# Type of request: This is a ...
[x ] bug report
[ ] feature request

# Detailed description
When attempting to run in a Docker environment with Spring Cloud AWS Messaging - getting a 404 on the application side and `INFO:localstack.services.edge: Unable to find forwarding rule for host "awslocal:4566", path "/", target header "", auth header ""` on Localstack container. 

Using the following docker-compose entry:

```
localstack:
    image: localstack/localstack:0.11.2
    container_name: awslocal
    hostname: awslocal
    environment:
      SERVICES: "sqs,sns"
      HOST_TMP_FOLDER: /tmp/localstack
      HOSTNAME_EXTERNAL: awslocal
    ports:
      - "4566:4566"
      - "8055:8080"
    volumes:
      - "./.localstack:/tmp/localstack"
```

## Expected behavior
Application can listen to SQS messages on the `test` queue created externally with AWS CLI:

```
aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name test
{
    "QueueUrl": "http://localhost:4566/queue/test"
}

aws --endpoint-url=http://localhost:4566 sns create-topic --name test
{
    "TopicArn": "arn:aws:sns:us-east-1:000000000000:test"
}

aws --endpoint-url=http://localhost:4566 sns subscribe --topic-arn arn:aws:sns:us-east-1:000000000000:test --protocol sqs --notification-endpoint arn:aws:sqs:us-east-1:000000000000:test
{
    "SubscriptionArn": "arn:aws:sns:us-east-1:000000000000:test:de195743-b616-4c13-8539-fe17d8e00084"
}

aws --endpoint-url=http://localhost:4566 sns publish --topic-arn arn:aws:sns:us-east-1:000000000000:test --message "TEST"
```

## Actual behavior
Application fails with a 404 on this log line:

```
app_1         |  2020-05-30 01:02:36.955 DEBUG 6 --- [           main] com.amazonaws.request                    : Sending Request: POST http://awslocal:4566 / Parameters: ({"Action":["GetQueueUrl"],"Version":["2012-11-05"],"QueueName":["test"]}Headers: (User-Agent: aws-sdk-java/1.11.415 Linux/4.19.76-linuxkit OpenJDK_64-Bit_Server_VM/11.0.7+10 java/11.0.7, amz-sdk-invocation-id: 1ae4996f-7f4e-509a-0ee1-a5a7d7d274a0, )
app_1         | 2020-05-30 01:02:37.214 DEBUG 6 --- [           main] com.amazonaws.request                    : Received error response: com.amazonaws.services.sqs.model.AmazonSQSException: null (Service: AmazonSQS; Status Code: 404; Error Code: 404 Not Found; Request ID: null)
app_1         |  2020-05-30 01:02:37.220  WARN 6 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleMessageListenerContainer' defined in class path resource [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class]: Invocation of init method failed; nested exception is com.amazonaws.services.sqs.model.AmazonSQSException: null (Service: AmazonSQS; Status Code: 404; Error Code: 404 Not Found; Request ID: null)
app_1         |  2020-05-30 01:02:37.224  INFO 6 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
app_1         |  2020-05-30 01:02:37.225  INFO 6 --- [           main] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'
app_1         |  2020-05-30 01:02:37.233  INFO 6 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
app_1         |  2020-05-30 01:02:37.235  INFO 6 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
app_1         |  2020-05-30 01:02:37.249  INFO 6 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
app_1         |  2020-05-30 01:02:37.253  INFO 6 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
app_1         |  2020-05-30 01:02:37.271  INFO 6 --- [           main] ConditionEvaluationReportLoggingListener :
app_1         |
app_1         | Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
app_1         |  2020-05-30 01:02:37.278 ERROR 6 --- [           main] o.s.boot.SpringApplication               : Application run failed
app_1         |  com.amazonaws.services.sqs.model.AmazonSQSException: null (Service: AmazonSQS; Status Code: 404; Error Code: 404 Not Found; Request ID: null)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1660)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1324)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1074)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:745)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:719)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:701)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:669)
app_1         | 	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:651)
app_1         | 	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:515)
app_1         | 	at com.amazonaws.services.sqs.AmazonSQSClient.doInvoke(AmazonSQSClient.java:2147)
app_1         | 	at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:2116)
app_1         | 	at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:2105)
app_1         | 	at com.amazonaws.services.sqs.AmazonSQSClient.executeGetQueueUrl(AmazonSQSClient.java:1138)
app_1         | 	at com.amazonaws.services.sqs.AmazonSQSClient.getQueueUrl(AmazonSQSClient.java:1110)
```

# Steps to reproduce
A demo repository is here: https://github.com/MatthewEdge/boot-sqs-test

Relevant client code:

```
@SpringBootApplication
@Slf4j
public class DemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }

  @SqsListener("test")
  public void receiveMessage(@NotificationMessage String message, @Payload String payload) {
    log.info(payload);
    log.info(message);
  }

  @Value("${cloud.aws.endpoint.uri}")
  private String endpointUrl;

  @Value("${cloud.aws.region.static}")
  private String region;

  private AWSCredentialsProvider credentialsProvider() {
      return new AWSStaticCredentialsProvider(new AnonymousAWSCredentials());
  }

  private EndpointConfiguration endpointConfiguration() {
    log.info("Using endpoint: " + endpointUrl);
    log.info("Region: " + region);
    return new AwsClientBuilder.EndpointConfiguration(endpointUrl, region);
  }

  @Bean
  public AmazonSQS amazonSQS() {
    return AmazonSQSAsyncClientBuilder.standard()
        .withCredentials(credentialsProvider())
        .withEndpointConfiguration(endpointConfiguration())
        .build();
  }
}
```

## Command used to start LocalStack
```
docker-compose up -d localstack
docker-compose up --build app
```



┆Issue is synchronized with this [Jira Bug](https://localstack.atlassian.net/browse/LOC-190) by [Unito](https://www.unito.io/learn-more)

if not port:
        port = config.EDGE_PORT
    if config.EDGE_PORT_HTTP:
        do_start_edge(config.EDGE_PORT_HTTP, use_ssl=False, asynchronous=True)
    if port > 1024 or is_root():
        return do_start_edge(port, use_ssl, asynchronous=asynchronous)
    
    class Terminator(object):
        def stop(self, quiet=True):
            try:
                url = 'http%s://localhost:%s' % ('s' if use_ssl else '', port)
                requests.verify_ssl = False
                requests.post(url, headers={HEADER_KILL_SIGNAL: 'kill'})
            except Exception:
                pass
    
    ensure_can_use_sudo()
    
    TMP_THREADS.append(Terminator())
    
    sudo_cmd = 'sudo '
    python_cmd = sys.executable
    cmd = '%sPYTHONPATH=.:%s %s %s %s' % (sudo_cmd, LOCALSTACK_ROOT_FOLDER, python_cmd, __file__, port)
    process = run(cmd, asynchronous=asynchronous)
    return process
if __name__ == '__main__':
    logging.basicConfig()
    start_edge(int(sys.argv[1]))