我有一个包含以下内容的虚拟服务 yaml 文件。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nodeserver
spec:
hosts:
- "*"
gateways:
- node-gateway
http:
- match:
- uri:
exact: /
- uri:
exact: /sample1
- uri:
exact: /sample2
route:
- destination:
host: node-service
port:
number: 8080
这里,除了/sample1
和/sample2
两个 URL 匹配之外,我是否可以指定*
默认将所有流量路由到节点服务之类的内容?此外,如果网页中有超链接,Istio 会默认重定向它们还是需要为此添加任何自定义配置?
答案1
您可以使用regex
而exact
不是HTTP匹配请求.
这样您就可以用 ECMAscript 样式的正则表达式捕获所有内容。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: nodeserver
spec:
hosts:
- "*"
gateways:
- node-gateway
http:
- match:
- uri:
regex: '.+'
route:
- destination:
host: node-service
port:
number: 8080
答案2
使用前缀:''
这对我有用:
http:
- match:
- uri:
prefix: ''