我在 Google Cloud 上有一个 Kubernetes 集群,其中有几个我们想要保护的环境,不让公众看到。我将 Kubernetes Ingress 设置更改为以下内容:
kind: Ingress
metadata:
name: web-develop-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: 25m
nginx.ingress.kubernetes.io/auth-type: basic
nginx.ingress.kubernetes.io/auth-secret: [secret here]
nginx.ingress.kubernetes.io/auth-realm: "Please enter the password for dev"
这有效并提示我输入开发环境的密码,但这不是持久的。我似乎找不到设置来让它在整个会话中保持不变,这样我们只需要输入一次密码,而不是每次通话都要求团队重新输入密码。
如何使会话身份验证在 Kubernetes Nginx Ingress Controller 设置中的整个会话中持续存在?
答案1
事实证明,我们调用的身份验证标头与 Nginx Ingress Controller 的 auth-header 标记相同。将标头更改为“X-Authentication”可解决此问题。