问题描述
安装 Istio 后,我的应用程序出现“请求标头太大”错误。 Istio 添加的额外header 会不会太大?
解决方法
发送到您的 Pod
的请求由 Envoy
(带有边车)处理。您可以尝试修改它的配置以支持更大的标头。
有一个 Github 问题可以作为您的起点:
大家好,如果它有帮助,使用 Istio 1.5,这是有效的:
$ cat envoyfilter3.yaml
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: hcm-tweaks
namespace: istio-system
spec:
configPatches:
- applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
match:
context: GATEWAY
listener:
filterChain:
filter:
name: "envoy.http_connection_manager"
patch:
operation: MERGE
value:
typed_config:
"@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
xff_num_trusted_hops: 5
max_request_headers_kb: 90
与文档的主要区别:删除了 WorkloadSelector,删除了 sni,添加了 type_config。"@type"
请记住,这是 Istio
版本 1.5
上的一个工作示例。您需要按照Istio release notes进行修改。
其他资源: