I am able to remove the server response header on ports 80 and 443 using below EnvoyFilter.
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: remove-server-header
namespace: istio-system
spec:
workloadSelector:
labels:
istio: ingressgateway
configPatches:
- applyTo: NETWORK_FILTER
match:
context: GATEWAY
listener:
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
patch:
operation: MERGE
value:
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
server_header_transformation: PASS_THROUGH
- applyTo: ROUTE_CONFIGURATION
match:
context: GATEWAY
patch:
operation: MERGE
value:
response_headers_to_remove:
- "x-envoy-upstream-service-time"
- "server"
But I am getting server response header on health check port.
curl -I -X GET "http://example.com:15021/healthz/ready"
HTTP/1.1 200 OK
date: Wed, 16 Mar 2022 08:48:07 GMT
content-length: 0
x-envoy-upstream-service-time: 0
server: envoy
How to remove it on port 15021?