kubernetes和nginx入口路由路径

vxqlmq5t  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(220)

我有以下入口设置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: grafana
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /grafana/$2
spec:
  rules:
  - host: my.domain.com
    http:
      paths:
      - backend:
          service:
            name: grafana
            port:
              number: 80
        path: /grafana(/|$)(.*)
        pathType: Prefix

当我点击my.domain.com/grafana时,我被重定向到https://my.domain/login,并显示NGINX 404未找到
根据日志,可以看到grafana pod被查询命中:
记录器=上下文跟踪ID = 000000000000000000000000000用户ID =0组织ID =0 uname= t=2022-10- 13 T16:19:57.989170173Z级别=信息消息=“请求已完成”方法=GET路径=/grafana/状态=302远程地址=x.x.x.x时间毫秒=0持续时间=718.491µs大小=29引用对象=跟踪ID = 0000000000000000000000000000
然后就什么也没了。
在入口日志下面:
微软公司的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0、微软的Windows NT 10.0。浏览器/106.0.0.0浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器
微软微软公司的Mozilla/5.0(Windows NT 10.0; Windows NT 10.0;微软公司的网页浏览器/106.0.0.0浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器/浏览器
在对**/login**的重定向查询中,可以注意到入口试图将我重定向到默认的后端,而不是我的grafana服务。
我试过使用nginx的注解rewrite-targetuse-regexroot-app,但没有任何结果。
目标是,如果我需要进行身份验证,则让my.domain.com/grafana将我重定向到my.domain.com/grafana/login,然后重定向到my.domain.com/grafana/whatever/path?foo=bar
我做错了什么?

nx7onnlm

nx7onnlm1#

我现在有确切的问题。如果它与你有这样的URL的确定:grafana.yourip.com而不是yourip.com/grafana,您可以将其添加到values.yaml(仅,不需要更改任何其他内容):

grafana:
  admin:
    user: admin
    password: admin
  ingress:
    pathType: ImplementationSpecific
    enabled: true
    annotations:
      kubernetes.io/ingress.class: nginx
    hostname: grafana.yourip.com

如果我会找到解决方案的网址为/grafana,我会张贴它。

相关问题