配置请求路径重定向可以使发往服务的指定请求获得HTTP 301重定向响应,将请求重定向到服务的其它路径上。本文介绍如何配置请求路径重定向。
前提条件
已完成准备工作,并部署httpbin服务、sleep服务和nginx服务。具体操作,请参见准备工作。
操作步骤
为httpbin服务配置虚拟服务,将发往httpbin服务的请求转发至nginx服务。
登录ASM控制台,在左侧导航栏,选择 。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 ,然后单击创建。
在创建页面,进行如下配置,单击预览,确认YAML内容无误后,单击确认,然后单击创建。
预览的YAML如下。关于配置项的说明,请参见虚拟服务(Virtual Service)CRD说明。
apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: httpbin namespace: default spec: hosts: - httpbin.default.svc.cluster.local http: - match: - uri: exact: / redirect: uri: /get
在ACK集群对应的KubeConfig环境下,执行以下命令,验证请求路径重定向是否生效。
kubectl exec -it deploy/sleep -- curl httpbin:8000 -I
预期输出:
HTTP/1.1 301 Moved Permanently location: http://httpbin:8000/get date: Mon, 14 Aug 2023 02:51:52 GMT server: envoy transfer-encoding: chunked
可以观察到,在sleep容器内部访问httpbin服务的根路径,返回301响应,其中
location
字段为http://httpbin:8000/get
,表明请求被重定向到httpbin服务的/get
路径。
文档内容是否对您有帮助?