Search code examples
consul

Consul proxy failed to dial: dial tcp 127.0.0.1:0: connect: connection refused


I'm trying to run a consul connect proxy, but it displays unexpected errors

This is my configuration

{
    "service": {
        "name": "api",
        "check": {
            "name": "HTTP 80",
            "http": "http://localhost:80",
            "interval": "10s",
            "timeout": "10s"
        },
        "connect": {
            "sidecar_service": {
                "proxy":{
                    "upstreams":[{
                        "destination_name": "elasticsearch",
                        "local_bind_port": 9200
                    }]
                }
            }
        }
    }
}

Here is the command with logging $ consul connect proxy -sidecar-for elasticsearch ==> Consul Connect proxy starting... Configuration mode: Agent API Sidecar for ID: elasticsearch Proxy ID: elasticsearch-sidecar-proxy

==> Log data will now stream in as it occurs:

    2019/06/03 08:00:54 [INFO] Proxy loaded config and ready to serve
    2019/06/03 08:00:54 [INFO] TLS Identity: spiffe://fadce594-37c1-8586-1b57-c6245436684c.consul/ns/default/dc/dc1/svc/elasticsearch
    2019/06/03 08:00:54 [INFO] TLS Roots   : [Consul CA 8]
    2019/06/03 08:00:54 [INFO] public listener starting on 0.0.0.0:21000
    2019/06/03 08:01:02 [ERR] failed to dial: dial tcp 127.0.0.1:0: connect: connection refused
^C==> Consul Connect proxy shutdown

Any suggestions?


Solution

  • The issue is because the service has no port, so it tried to connect to proxy.local_service_port - Defaults to the parent service port.

    Specifying the port for the parent service solves the issue