Accessing an external service via Terminating gateway from an other DC


I have an issue regarding the access to an external service cross datacenter :

I have 2 datacenters, both have a mesh gateway, in the first one I have a basic http service (and its sidecar) who is supposed to reach my external service on dc2 via an upstream.

On dc2 I have a mesh gateway, a terminating gateway and a standalone service (e.g. without envoy sidecar). I followed the documentation and added the external service via the catalogue and added a healthcheck, it registers well and passes the check.

The problem comes when I try to reach this external service from my http service. I just end up with “no healthy upstream”

If I put the my http service in dc2 it works fine, I can cURL my external service, but I don’t really want to have a terminating gateway on each of my dc’s.

Here are the config files for reference :

Kind = "terminating-gateway"
Name = "terminating-gateway"
Services = [
   Name = "elasticsearch"
Kind      = "proxy-defaults"
Name      = "global"
Config {
  protocol = "http"
MeshGateway {
  mode = "local"
    "Node": "elk",
    "Address": "",
    "NodeMeta": {
      "external-node": "true",
      "external-probe": "true"
    "Service": {
      "ID": "elasticsearch1",
      "Service": "elasticsearch",
      "Port": 9200
    "Checks": [
        "Name": "http-check",
        "status": "passing",
        "Definition": {
          "http": "",
          "interval": "10s"
service {
  name = "mock"
      proxy {
        upstreams {
          destination_name = "elasticsearch"
          local_bind_address = ""
          local_bind_port = 9099

Thanks for you help.