Warm tip: This article is reproduced from serverfault.com, please click

google kubernetes engine-如何将Ingress与基本身份验证结合使用,但仅适用于某些路由?

(google kubernetes engine - How do I use Ingress with basic auth but only for certain routes?)

发布于 2020-11-16 13:04:33

如何在域的每条路径上使用基本身份验证进行入口(除了其中一条路径)。我的入口看起来像这样:
apiVersion:extensions / v1beta1

kind: Ingress
metadata:
  name: frontend-ingress
  namespace: dev
  labels:
    app: x
  annotations:
    kubernetes.io/ingress.global-static-ip-name: x.x.x
    ingress.kubernetes.io/auth-secret: "basic-auth"
    ingress.kubernetes.io/auth-type: "basic"
spec:
  rules:
  - host: x.x.x
    http:
      paths:
      - path: /
        backend:
          serviceName: hello
          servicePort: 80 

我想做的是对除上的所有路径都进行基本身份验证/successfull_login ,当我点击x.x.x/successfull_login不需要凭据时。我尝试使用不使用基本身份验证但仍需要基本身份验证的路径创建一个新的Ingress。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-successfull-login
  namespace: dev
  labels:
    app: x
  annotations:
    kubernetes.io/ingress.global-static-ip-name: x.x.x
spec:
  rules:
  - host: x.x.x
    http:
      paths:
      - path: /successfull_login
        backend:
          serviceName: hello
          servicePort: 80

我该怎么做?

Questioner
Шурбески Христијан
Viewed
11
community wiki 2020-12-01 16:57:52

如评论中所述,所采用的解决方案是在新的docker映像中分离应用程序视图,并且还为该新代码段创建了新的部署和服务。