我正在尝试设置一些路由规则,但在以下情况下我遇到了问题。如果我向端口发送 HTTP 请求,比如说服务“service-a”的 5000,我希望我的路由规则将请求转发到服务“service-b”的端口 5001。可能吗?
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: my-route
spec:
hosts:
- service-a:5000
- service-a
- service-a.service:5000
- service-a.service
- service-a.service.consul:5000
- service-a.service.consul
gateways:
- my-gateway
http:
- match:
- uri:
prefix: "/v1/service-a"
rewrite:
uri: "/v1/ser-a"
route:
- destination:
port:
number: 5001
name: service-b
网关定义如下:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: my-gateway
spec:
selector:
app: my-gatweway-controller
servers:
- port:
number: 5000
name: http
protocol: HTTP
hosts:
- localhost
- port:
number: 5001
name: http
protocol: HTTP
hosts:
- localhost
结果是内部错误 500,请求登陆端口 5000 而不是 5001。有人知道如何解决这个问题吗?
此致
马丁