• 网关路由
  • ks4.1.2通过应用路由访问被过滤掉带下划线的header

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
虚拟机/物理机,Ubuntu2004,16C/64G

Kubernetes版本信息
kubectl version 命令执行结果贴在下方

Client Version: version.Info{Major:“1”, Minor:“24”, GitVersion:“v1.24.17”, GitCommit:“22a9682c8fe855c321be75c5faacde343f909b04”, GitTreeState:“clean”, BuildDate:“2023-08-23T23:44:35Z”, GoVersion:“go1.20.7”, Compiler:“gc”, Platform:“linux/amd64”}

Kustomize Version: v4.5.4

Server Version: version.Info{Major:“1”, Minor:“24”, GitVersion:“v1.24.17”, GitCommit:“22a9682c8fe855c321be75c5faacde343f909b04”, GitTreeState:“clean”, BuildDate:“2023-08-23T23:37:25Z”, GoVersion:“go1.20.7”, Compiler:“gc”, Platform:“linux/amd64”}

容器运行时
docker version / crictl version / nerdctl version 结果贴在下方

Version: 0.1.0

RuntimeName: containerd

RuntimeVersion: v1.7.13

RuntimeApiVersion: v1

KubeSphere版本信息
v4.1.2

问题是什么
1. 服务通过应用路由访问whoami服务,传header头位iot_sn=123 ,在whoami服务获取不到iot_sn的请求头信息。

2. 服务不通过应用路由访问whoami服务,直接访问whoami的nodeport暴露的服务,传header头位iot_sn=123 ,在whoami可以获取到请求头iot_sn的值123

之前在3.4.1版本同样配置是好的。

尝试在应用路由添加注解enable-underscores-in-headers=true,测试没有作用。

解决了, 要在网关编辑里,修改配置 enable-underscores-in-headers=true,更改完之后,需要把对应应用路由的pod进行重新创建才会生效!