我正在努力为Kubernetes上的nginx-ingress制定一个重写/重定向规则。
根据文档https://kubernetes.github.io/ingress-nginx/examples/rewrite/,它说可以使用注释"nginx.ingress.kubernetes.io/rewrite-target",但无法在我的入口上实现。也许我做错了。
例如,nginx-ingress yaml文件的一部分。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
example.com/deployment-name: frontend-page
example.com/ingress-hostnames: www.example.com
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- host: www.example.com
http:
paths:
- backend:
serviceName: frontend-page
servicePort: 8080
path: /front(/|$)(.*)也尝试了另一种方法,但没有成功:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
example.com/deployment-name: frontend-page
example.com/ingress-hostnames: www.example.com
nginx.ingress.kubernetes.io/rewrite-target: /shop
spec:
rules:
- host: www.example.com
http:
paths:
- backend:
serviceName: frontend-page
servicePort: 8080
path: /我想将所有到页面www.example.com/front/checkdomain的流量重定向到www.example.com/checkdomain。我想去掉中间的“正面”路径。
发布于 2021-08-05 11:56:10
尝试使用更新的API版本,希望您的入口支持networking.k8s.io/v1beta1。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: rewrite
namespace: default
spec:
rules:
- host: rewrite.bar.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /something(/|$)(.*)示例:https://kubernetes.github.io/ingress-nginx/examples/rewrite/#examples
发布于 2021-08-20 07:18:28
解决方案是
更改自:
nginx.ingress.kubernetes.io/rewrite-target: /$2至:
nginx.ingress.kubernetes.io/rewrite-target: /$2/所以yaml看起来是这样的:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
example.com/deployment-name: frontend-page
example.com/ingress-hostnames: www.example.com
nginx.ingress.kubernetes.io/rewrite-target: /$2/
spec:
rules:
- host: www.example.com
http:
paths:
- backend:
serviceName: frontend-page
servicePort: 8080
path: /front(/|$)(.*)https://stackoverflow.com/questions/68664707
复制相似问题