Kubernetes: TLS на входе; хосты используют неверный сертификат - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу защитить свое приложение K8s с помощью TLS.Я сгенерировал 2 SSL-сертификата с Let's Encrypt: один для kamerbaas.nl и один для gateway.kamerbaas.nl.Я создал два секрета из файлов tls.crt и tls.key для каждого домена.

Файл YAML моего Ingress выглядит следующим образом:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gateway-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - gateway.kamerbaas.nl
    secretName: gateway.kamerbaas.nl
  - hosts:
    - kamerbaas.nl
    secretName: kamerbaas.nl
rules:
  - host: gateway.kamerbaas.nl
    http:
      paths:
      - path: /*
        backend:
          serviceName: kb-gateway
          servicePort: 80
  - host: kamerbaas.nl
    http:
      paths:
      - path: /*
        backend:
          serviceName: kb-frontend
          servicePort: 80

Подвох: Когда я иду вhttps://gateway.kamerbaas.nl, это работает;это показывает зеленый замок.Однако, когда я перехожу к https://kamerbaas.nl, он говорит, что это небезопасно, так как он пытается использовать сертификат gateway.kamerbaas.nl.

Я исключил возможность того, что это проблема с кешеми я гарантировал, что я не перепутал файлы сертификатов.Я на 100% уверен, что секреты верны.

Почему kamerbaas.nl пытается использовать сертификат gateway.kamerbaas.nl?

Ps.У gateway.kamerbaas.nl есть сервер экспресс-узлов, работающий по протоколу HTTPS.Я также загрузил свои сертификаты.kamerbaas.nl имеет сервер узлов без https, может ли это быть проблемой?Я предполагаю, что это не имеет значения, так как мои правила Ingress указывают только на порт 80 моих служб, который является портом для незащищенного HTTP.

...