Add Request Headers

Ambassador can add a dictionary of HTTP headers that can be added to each request that is passed to a service.

The add_request_headers annotation

The add_request_headers attribute is a dictionary of header: value pairs. The value can be a string, bool or object. When its an object, the object should have a value property, which is the actual header value, and the remaining attributes are additional envoy properties. Look at the example to see the usage.

Envoy dynamic values %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT% and %PROTOCOL% are supported, in addition to static values.

A basic example

apiVersion: ambassador/v1
kind:  Mapping
name:  tour-backend_mapping
prefix: /backend/
  x-test-proto: "%PROTOCOL%"
  x-test-static: This is a test header
    value: This the test header #same as above  x-test-static header
    value: This the value
    append: False #True by default
app: tour

will add the protocol, client IP, and a static header to /backend/.