繁体   English   中英

Kubernetes nginx 入口重定向没有路径前缀

[英]Kubernetes nginx ingress redirects without path prefix

我有一些我正在尝试设置入口的应用程序,这些应用程序本身将重定向到其他 url,例如:

app1host:8080/auth/logout?redirect_uri=/

我正在尝试创建一个允许重定向重定向回我的路径但没有任何成功的规则。

app1host:8080/auth/logout?redirect_uri=/ -> domain.com/app1/auth/logout?redirect_uri=/

当前代码将我重定向回根文件夹 domain.com/

kind: Ingress
apiVersion: networking.k8s.io/v1beta1
metadata:
  name: nginx
  namespace: webservices
  uid: 96336c73-dcae-4c69-b1d3-0eacf8902173
  resourceVersion: '356090'
  generation: 63
  creationTimestamp: '2021-03-21T09:51:34Z'
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  managedFields:
    - manager: nginx-ingress-controller
      operation: Update
      apiVersion: networking.k8s.io/v1beta1
      time: '2021-03-21T14:19:21Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          f:loadBalancer:
            f:ingress: {}
    - manager: dashboard
      operation: Update
      apiVersion: networking.k8s.io/v1beta1
      time: '2021-03-23T22:51:34Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            f:nginx.ingress.kubernetes.io/app-root: {}
            f:nginx.ingress.kubernetes.io/rewrite-target: {}
    - manager: Mozilla
      operation: Update
      apiVersion: networking.k8s.io/v1beta1
      time: '2021-03-23T23:06:04Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:kubernetes.io/ingress.class: {}
        f:spec:
          f:rules: {}
spec:
  rules:
    - host: domain.com
      http:
        paths:
          - path: /app1(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              serviceName: app1
              servicePort: 8080
          - path: /app2(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              serviceName: app2
              servicePort: 8181
status:
  loadBalancer:
    ingress:
      - ip: 192.168.0.250

您是否尝试过使用proxy-redirect-fromproxy-redirect-to

nginx.ingress.kubernetes.io/proxy-redirect-from: "http://app1host:8080/"
nginx.ingress.kubernetes.io/proxy-redirect-to: "http://example.com/app1/"

我必须在它自己的应用程序中设置 http 根,现在它可以按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM