Comments (1)
envoy会在协议解析阶段就进行内联header的合并,这是符合RFC标准的:https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.2
另外,多个content-type头透传可能会导致产生安全性隐患。
如果要绕过此问题,可以开启istio api支持,然后通过一个 lua envoyfilter来修改content-type,例如下面这个lua代码判断content-type中只要包含 application/json,就整体replace成一个:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: updateheader
namespace: higress-system
spec:
configPatches:
- applyTo: HTTP_FILTER
match:
context: GATEWAY
listener:
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
subFilter:
name: "envoy.filters.http.router"
patch:
operation: INSERT_BEFORE
value:
name: envoy.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
inline_code: |-
function envoy_on_request(request_handle)
local content_type = request_handle:headers():get("Content-Type")
if string.find(content_type, "application/json") then
request_handle:headers():replace("Content-Type","application/json; charset=UTF-8")
end
end
from higress.
Related Issues (20)
- AI apitoken failover 机制设计 HOT 7
- How to compile ai-transformer plugin? HOT 2
- 请问,基于 Key 集群限流,是否支持动态添加key? HOT 1
- Higress AI可观测_ai-statistics插件扩展设计 HOT 4
- Cannot sync https gateway when change ingress host+cert HOT 5
- 建议插件cluster-key-rate-limit 可以增加,不限时的次数限流规则 HOT 1
- 重写后导致请求路径结尾携带斜杠(/) HOT 3
- 配置了服务来源dns以后,删除以后在服务列表依然存在 HOT 1
- 期望higress的插件配置交互与商业版一致 HOT 1
- We can drop the patch directories after upgrading to istio 1.19? HOT 1
- 404 when using wildcard gateway with ingress HOT 6
- 为什么OnResponseBody方法中可以使用 proxywasm.ReplaceHttpRequestHeaders HOT 5
- 希望Higress控制台路由页面支持配置一个ingress对应多个路由 HOT 6
- rust wasm plugin painc HOT 11
- 官方考虑支持 k3s一键安装脚本么 HOT 10
- 503 - upstream connect error or disconnect/reset before headers. reset reason: connection termination" HOT 9
- v1.4.2安装后eureka发现不了服务ip HOT 8
- ext-auth 插件实现了向多个外部授权服务发送鉴权请求 HOT 2
- nacos已经有gatewayclass,重启higress controller就会报错误 HOT 1
- higress-基于域名配置黑名单插件无效 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from higress.