Ingress аннотации Kubernetes для аутентификации сертификата x509 - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь использовать входящие правила аннотации kubernetes для включения аутентификации X509.Мой входной файл yaml определен ниже:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: bdf-opengie-test
  name: keycloak-opengie-test-ssl
  labels:
    app: keycloak-opengie
  annotations:
   nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
   nginx.ingress.kubernetes.io/auth-tls-secret: "opengie-tls-secret"
   nginx.ingress.kubernetes.io/auth-tls-verify-depth: "3"
   nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: "true"
spec:
  rules:
  - host: keycloak-opengie-test-ssl.bdf-clu4.paas.eclair.local
    http:
      paths:
      - path: /
        backend:
          serviceName: keycloak-opengie
          servicePort: http
  tls:
   - hosts:
     - keycloak-opengie-test-ssl.bdf-clu4.paas.eclair.local

Когда я вызываю URL своего приложения, я ожидаю увидеть всплывающее окно, запрашивающее сертификат, но ничего не происходит.Кажется, что аннотации не влияют на определение входа.Может кто-нибудь сказать мне, что идет не так в моем входном определении.Я использую Nginx Ingress: 0.15.0 и Kubernetes 1.10.5

1 Ответ

0 голосов
/ 02 октября 2018

Прежде всего вам не хватает секрета с файлами SSL, выданными для вашего домена.(если мы говорим о нативном управлении секретами k8s) Ваш секрет должен быть создан:

kubectl --namespace bdf-opengie-test create secret tls <secret_name> --key <key_path> --cert <cert_path>

Тогда ваш Ingress .yml файл должен содержать этот секрет:

 ...
 tls:
   - hosts:
     - keycloak-opengie-test-ssl.<domain>
     secretName: <secret_name>

Только после этого вы можете подумать о каких-либо аннотациях для auth или о чем-то еще, что не работает

Примечание: секрет - это объект пространства имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...