У меня есть кластер Kubernetes в Google Cloud, в котором есть несколько сред, которые мы хотим защитить от общественности. Я изменил настройки 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?
Оказывается, мы вызывали заголовок аутентификации, который был помечен так же, как заголовок auth для контроллера Nginx Ingress. Изменение нашего заголовка на «X-Authentication» устранило эту проблему.