如何将 Ingress 与基本身份验证一起使用,但仅限于某些路由?
How do I use Ingress with basic auth but only for certain routes?
如何在域的每条路径上使用基本身份验证进入,但只有一条路径除外。我的入口看起来像这样:
api版本: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
我该怎么做?
如评论中所述,采用的解决方案是在新的 docker 图像中分离应用程序视图,同时为这段新代码创建了新的部署和服务。
如何在域的每条路径上使用基本身份验证进入,但只有一条路径除外。我的入口看起来像这样:
api版本: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
我该怎么做?
如评论中所述,采用的解决方案是在新的 docker 图像中分离应用程序视图,同时为这段新代码创建了新的部署和服务。