Ingress规则,发送参数带/,ingress以此为规则

问题描述 投票:0回答:1

早上好,我目前正在 kubernetes ingress 中部署一个服务,我遇到了一个问题,我需要通过 sso 发送一个加密参数作为 url 中 get 方法的输入参数,它给了我入口将其视为规则的问题:

我的入口规则

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-develop
  namespace: develop
  annotations: 
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "20"
spec:
  ingressClassName: nginx-dev
  tls: 
    - secretName: srvdevma1-ssl
  rules:
  - http:
      paths:
      - path: /userProfile/v3.6/users/.*
        pathType: Prefix
        backend:
          service: 
            name: user-profile
            port: 
              number: 8080

作为输入参数,我必须在 sso 中发送加密参数,如下所示:

2IuUHKRcst/S6GGf+RKONg==

问题是,当我发送它时,它通常以 / 作为规则,因此它返回一个资源未找到错误:

有什么办法可以解决这个问题吗?

kubernetes kubernetes-ingress nginx-ingress
1个回答
0
投票

您必须对您的值进行 url 编码,因为它是 URL 的一部分。并且它具有具有特殊含义的字符,例如“/”,“+”,“=”等字符在您的值中。

© www.soinside.com 2019 - 2024. All rights reserved.