envoyproxy / envoyproxy/gateway

Support for disabling xff header append

Open
#4,233 8 comments 4 reactions 1 assignee Assigned to @rudrakhp View on GitHub
stale
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

EG by default sets [use-remote-address](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-use-remote-address) to `true` currently at
https://github.com/envoyproxy/gateway/blob/14f687fb4fd18b98de654d22119f4e4bd10a71e2/internal/xds/translator/listener.go#L242
while in envoy this is `false` by default. My understanding is that as eg is supposed to be the first L7 layer for downstream traffic, hence this has been set to `true`.

However in our use case eg is not the first L7 layer, rather its aws ALB due to which ALB private ip gets appended to xff header which we don't want. Hence we want this to be `false` or an option to set `skip_xff_append` to `true`. So it would be nice to have an api to set above two fields.

For anyone else facing the same issue for now you can use below `jsonPatch` in `EnvoyPatchPolicy`:
```yaml
jsonPatches:
- type: "type.googleapis.com/envoy.config.listener.v3.Listener"
# The listener name is of the form //
name: staging/eg-staging/http
operation:
op: add
path: "/default_filter_chain/filters/0/typed_config/skip_xff_append"
value: true
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.