---
layout: docs
page_title: proxy Block - Job Specification
description: |-
  The "proxy" block allows specifying options for configuring
  sidecar proxies used in Consul Connect integration
---

# `proxy` Block

<Placement
  groups={['job', 'group', 'service', 'connect', 'sidecar_service', 'proxy']}
/>

The `proxy` block allows configuring various options for the sidecar proxy
managed by Nomad for [Consul
Connect](/nomad/docs/integrations/consul-connect). It is valid only
within the context of a `sidecar_service` block.

```hcl
job "countdash" {
  datacenters = ["dc1"]

  group "api" {
    network {
      mode = "bridge"
    }

    service {
      name = "count-api"
      port = "9001"

      connect {
        sidecar_service {
          proxy {}
        }
      }
    }

    task "web" {
      driver = "docker"

      config {
        image = "hashicorpdev/counter-api:v3"
      }
    }
  }
}
```

## `proxy` Parameters

- `local_service_address` `(string: "127.0.0.1")` - The address the local service binds to. Useful to
  customize in clusters with mixed Connect and non-Connect services.
- `local_service_port` `(int: <varies>)` - The port the local service binds to.
  Usually the same as the parent service's port, it is useful to customize in clusters with mixed
  Connect and non-Connect services.
- `upstreams` <code>([upstreams][]: nil)</code> - Used to configure details of each upstream service that
  this sidecar proxy communicates with.
- `expose` <code>([expose]: nil)</code> - Used to configure expose path configuration for Envoy.
  See Consul's [Expose Paths Configuration Reference](/consul/docs/connect/registration/service-registration#expose-paths-configuration-reference)
  for more information.
- `config` `(map: nil)` - Proxy configuration that is opaque to Nomad and
  passed directly to Consul. See [Consul Connect documentation](/consul/docs/connect/proxies/envoy#dynamic-configuration)
  for details. Keys and values support [runtime variable interpolation][interpolation].

## `proxy` Examples

The following example is a proxy specification that includes upstreams configuration.

```hcl
sidecar_service {
  proxy {
    upstreams {
      destination_name = "count-api"
      local_bind_port  = 8080
    }
  }
}
```

[job]: /nomad/docs/job-specification/job 'Nomad job Job Specification'
[group]: /nomad/docs/job-specification/group 'Nomad group Job Specification'
[task]: /nomad/docs/job-specification/task 'Nomad task Job Specification'
[interpolation]: /nomad/docs/runtime/interpolation 'Nomad interpolation'
[sidecar_service]: /nomad/docs/job-specification/sidecar_service 'Nomad sidecar service Specification'
[upstreams]: /nomad/docs/job-specification/upstreams 'Nomad upstream config Specification'
[expose]: /nomad/docs/job-specification/expose 'Nomad proxy expose configuration'
