Consul envoy sidecar integration

Hi, I am trying to integrate or build a service mesh using Envoy and Consul. All the configurations are on bare metal or VM (EC2 or GCP Compute instance) (no cloud components like k8s or docker).
We have a Nodejs (REACT) front end app and Tomcat as backend app. We started with the frontend app. But have difficulty in defining a service to talk to the app through Envoy as side-car. Can anyone help us to get it working.

Envoy (front-end) -> Envoy (side-car):80 -> App:3000 (We will use Consul as EDS)

Below is the service registration
{
“name”: “testapp”,
“connect”: {
“sidecar_service”: {
“port”: 3000,
“proxy”: {
“destination_service_name”: “testapp”,
“destination_service_id”: “abcdef”,
“local_service_address”: “127.0.0.1”,
“local_service_port”: 3000,
“config”: {
“envoy_public_listener_json”: "
{
@type”: “type.googleapis.com/envoy.api.v2.Listener”,
“name”: “listener_testapp”,
“address”: {
“socketAddress”: {
“address”: “0.0.0.0”,
“portValue”: 80
}
},
“filterChains”: [
{
“filters”: [
{
“name”: “envoy.http_connection_manager”,
“config”: {
“stat_prefix”: “public_listener”,
“route_config”: {
“name”: “local_route”,
“virtual_hosts”: [
{
“name”: “testapp”,
“domains”: ["*"],
“routes”: [
{
“match”: {
“prefix”: “/”
},
“route”: {
“cluster”: “local_app”
}
}
]
}
]
},
“http_filters”: [
{
“name”: “envoy.router”,
“config”: {}
}
]
}
}
]
}
]
}"
}
}
}
}
}

Hello,

It may be easier to achieve the configuration you’re looking for by utilizing Consul’s L7 configuration instead of programming Envoy directly. Check out our guide for Using Envoy with Connect which contains an example proxy service configuration, and directions for setting up Envoy. A Service Router can optionally be configured to route specific HTTP paths to different backends services.

I hope this helps. Please let me know if you have any other questions.