今天写BUG中使用到了envoy httpcall请求API的功能,但是经过envoy的请求转发,请求header全部变为小写。
根据HTTP1.1规范,header键值确实应该为小写,但很多API服务将header键值设定为大小写敏感,很是头疼。
经过查阅资料,envoy可以增加如下配置,使得header 键值首字母大写:
- name: waf-heart-cluster
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicit_http_config:
http_protocol_options:
header_key_format:
proper_case_words: {}
添加之后,wireshark抓包看到,header首字母已经大写。