Add request headers
Emissary can add a dictionary of HTTP headers that can be added to each request that is passed to a service.
The add_request_headers
attribute
The add_request_headers
attribute is a dictionary of header
: value
pairs. The value
can be a string
, bool
or object
. When it is an object
, the object should have a value
property, which is the actual header value, and the remaining attributes are additional envoy properties.
Envoy dynamic values %DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT%
and %PROTOCOL%
are supported, in addition to static values.
add_request_headers
can be set either in a Mapping
or using ambassador Module defaults
.
Mapping example
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote-backend
spec:
hostname: "*"
prefix: /backend/
add_request_headers:
x-test-proto: "%PROTOCOL%"
x-test-ip: "%DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT%"
x-test-static: This is a test header
x-test-static-2:
value: This the test header #same as above "x-test-static header"
x-test-object:
value: This the value
append: False #True by default
service: quote
will add the protocol, client IP, and a static header to /backend/
.
Defaults example
apiVersion: getambassador.io/v3alpha1
kind: Module
metadata:
name: ambassador
spec:
config:
defaults:
httpmapping:
add_request_headers:
x-test-proto: "%PROTOCOL%"
x-test-ip: "%DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT%"
x-test-static: This is a test header
x-test-static-2:
value: This the test header #same as above "x-test-static header"
x-test-object:
value: This the value
append: False #True by default
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote-backend1
spec:
hostname: "*"
prefix: /backend1/
service: quote
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: quote-backend2
spec:
hostname: "*"
prefix: /backend2/
service: quote
This example will add the same headers for both mappings.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.