我正面临着一个很奇怪的问题。RKE2部署提供了Nginx作为守护进程(rke2-ingress nginx-控制器)。
它可以很好地工作在任何path指向/的输入域定义中。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sealed-secrets-sealed-secrets-web
namespace: sealed-secrets
spec:
ingressClassName: nginx
rules:
- host: host.domain.com
http:
paths:
- backend:
service:
name: sealed-secrets-sealed-secrets-web
port:
number: 80
path: /
pathType: Prefix但是如果路径不是"/",而是指向不同的东西(例如/密封-秘密),那么我就会得到一个错误404 (没有找到),即使重写了目标集。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sealed-secrets-sealed-secrets-web
namespace: sealed-secrets
spec:
ingressClassName: nginx
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
rules:
- host: host.domain.com
http:
paths:
- backend:
service:
name: sealed-secrets-sealed-secrets-web
port:
number: 80
path: /sealed-secrets
pathType: Prefix我用密封的秘密来说明,但是对于任何定义的入口资源也是如此。
任何帮助都将不胜感激。
发布于 2022-10-21 09:00:36
似乎我已经错过了添加正则表达式来重写路径的需要。
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$2
# -- Ingress hosts
hosts:
- host: host.domain.com
paths:
- path: /sealed-secrets(/|$)(.*)
pathType: Prefix现在连接到应用程序并显示预期的页面。
https://stackoverflow.com/questions/74150580
复制相似问题