Hello!
I have a lot of different nodejs apps (with default keepAlive timeout 5 sec).
Trying to decrease timeout in envoy from the default (1 hour? 300sec?) to 4 sec.
It seems to work as expected (no more 503 errors).
But I’m not sure that this is the right way, maybe I override (will override) some configuration (circuit breaker/outlier detection)?
And I can’t understand why common_http_protocol_options can be configured in a Cluster and also in HTTP Filter. What will take precedence?
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: fix-for-nodejs
namespace: "istio-system"
spec:
configPatches:
- applyTo: CLUSTER
match:
cluster:
context: SIDECAR_OUTBOUND
patch:
operation: MERGE
value:
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
'@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
common_http_protocol_options:
idle_timeout: 4s
use_downstream_protocol_config:
http2_protocol_options: {}
http_protocol_options: {}
- applyTo: CLUSTER
match:
cluster:
context: SIDECAR_INBOUND
patch:
operation: MERGE
value:
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
'@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
common_http_protocol_options:
idle_timeout: 4s
use_downstream_protocol_config:
http2_protocol_options: {}
http_protocol_options: {}