Istio queryParams 总是返回 truthy
Istio queryParams always returning truthy
设置 istio 和基本的 bookinfo 应用程序
这样设置虚拟服务:
一个 headers:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~
另一个以 queryParams 作为路由区分器:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~
出于某种原因,header 政策似乎运作良好。即,如果我不提交 header=test
,istio 将 return 404.
但是,对于 queryParams,它总是 returning thruthy。难道我做错了什么?或者这是一个与 istio 相关的核心问题。
(注意:这 2 个 vs 不是 运行 并行,而是从一个到另一个的更新,所以有 2 个相似的 vs 不会有什么奇怪的)
理想情况下,我希望 queryParam 与 headers 的行为相同。
这实际上是一个准缺陷。
istio-1.2 的文档错误地说明了 1.3 中的功能。
对于那些遇到类似情况的人,升级到 istio 1。3.x 应该可以解决它。
设置 istio 和基本的 bookinfo 应用程序
这样设置虚拟服务: 一个 headers:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~
另一个以 queryParams 作为路由区分器:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~
出于某种原因,header 政策似乎运作良好。即,如果我不提交 header=test
,istio 将 return 404.
但是,对于 queryParams,它总是 returning thruthy。难道我做错了什么?或者这是一个与 istio 相关的核心问题。
(注意:这 2 个 vs 不是 运行 并行,而是从一个到另一个的更新,所以有 2 个相似的 vs 不会有什么奇怪的)
理想情况下,我希望 queryParam 与 headers 的行为相同。
这实际上是一个准缺陷。
istio-1.2 的文档错误地说明了 1.3 中的功能。
对于那些遇到类似情况的人,升级到 istio 1。3.x 应该可以解决它。