je veux rediriger le domaine dans kubernete d'entrée nginx.
https://test.example.io/preview/qLxiVcDGxCaQ134650121853FTg4
si dans l'url preview
vient changer la redirection de domaine
https://test.app.example.io/preview/qLxiVcDGxCaQ134650121853FTg4
ce que j'essayais
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
certmanager.k8s.io/cluster-issuer: staging
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: nginx
name: staging-ingress
spec:
rules:
- Host: test.example.io
http:
paths:
- path: /
backend:
serviceName: service-1
servicePort: 80
- path: /preview/*
backend:
url:
serviceName: service-2
servicePort: 80
tls:
- hosts:
- test.example.io
secretName: staging
pour un bloc nginx simple est comme
location ~ /preview
{
rewrite /preview https://test.app.example.com$uri permanent;
}
Ma pensée logique, essayez-la:
metadata:
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
rewrite /preview https://test.app.example.com$uri permanent;
spec:
rules:
- Host: test.example.io
http:
paths:
- path: /
backend:
serviceName: service-1
servicePort: 80
- Host: test.app.example.io
http:
paths:
- path: /preview/*
backend:
serviceName: service-2
servicePort: 80
Esperons que ça marche !
Sur le code ci-dessus: Vous ne devez pas accéder à l'aide de: https://test.app.example.io/preview/ (Il s'agit simplement d'un lien redirigé).
Essaye ça -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
certmanager.k8s.io/cluster-issuer: staging
nginx.ingress.kubernetes.io/rewrite-target: /$1
kubernetes.io/ingress.class: nginx
name: staging-ingress
spec:
rules:
- Host: test.example.io
http:
paths:
- path: /(.*)
backend:
serviceName: service-1
servicePort: 80
- path: /preview/(.*)
backend:
serviceName: service-2
servicePort: 80
tls:
- hosts:
- test.example.io
secretName: staging
Vous pouvez également faire référence à this , représentant également le type de problème
Annotation d'entrée Nginx utilisée
nginx.ingress.kubernetes.io/server-snippet: |
location ~ /preview {
rewrite /preview https://test.app.example.com$uri permanent;
}