示例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设置为原始路径。


