示例2:路径和请求头重写
假设您正在使用Kubernetes集群运行一个Web应用程序,该应用程序需要修改请求URI和请求头。如果您想将路径更改为/my-new-app
,并将请求头X-Original-Path
设置为原始路径,那么可以使用以下Ingress规则:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: complex-rewrite-example
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /my-new-app
nginx.ingress.kubernetes.io/rewrite-annotation: $request_uri?&X-Original-Path=$uri
spec:
rules:
- http:
paths:
- path: /my-app
pathType: Prefix
backend:
service:
name: my-service
port:
name: http
在上面的示例中,我们使用了nginx.ingress.kubernetes.io/rewrite-target
注释将/my-app
路径重写为/my-new-app
,同时使用了nginx.ingress.kubernetes.io/rewrite-annotation
注释将$request_uri
和$uri
添加到请求头中。因此,所有以/my-app
开头的请求都将被重写为以/my-new-app
开头,并将请求头X-Original-Path
设置为原始路径。