The matched part of the regular expression in rules.http.paths.path is placed into metadata.annotations.nginx.ingress.kubernetes.io/rewrite-target.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
namespace: my-namespace
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /api/apppath/$1
spec:
tls:
- secretName: my-http-cert
rules:
- host: log.ytyng.com
http:
paths:
- path: /(.*)
pathType: Prefix
backend:
service:
name: my-service-service
port:
number: 8000
In this configuration, the Ingress resource defines a rule for HTTP requests. The rule specifies that any requests to the host log.ytyng.com with a path matching the regular expression /(.*) will be redirected. The matched part of the path (captured by the (.*) group) will be inserted into the rewrite target specified by the annotation nginx.ingress.kubernetes.io/rewrite-target. Consequently, requests will be rewritten to the path /api/apppath/$1, where $1 represents the captured group. The backend service my-service-service on port 8000 will handle the rewritten requests. Additionally, SSL redirection is enabled as indicated by the annotation ingress.kubernetes.io/ssl-redirect: "true", and the TLS configuration uses the secret my-http-cert for securing the connection.