Проблема с сертификатом Kubernetes Ingress SSL - PullRequest
0 голосов
/ 22 июня 2019

У меня проблема с моим TLS. У меня есть секрет TLS:

kubectl create secret tls ingress-tls  --key certificate.key  --cert certificate.crt

И я использую его во входе:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: "beta"
spec:
  tls:
  - hosts:
    - '*.host.com'
    - 'beta.host.com'
    secretName: ingress-tls
  backend:
    serviceName: nginx
    servicePort: 443

Вход создан идеально, я получаю доступ через браузер и никаких проблем, проблема возникает, когда я делаю скручивание или использую программу почтальон, я получаю ошибку сертификата.

curl: (60) Проблема с сертификатом SSL: не удается получить локального эмитента сертификат Подробнее здесь: https://curl.haxx.se/docs/sslcerts.html

curl не смог проверить легитимность сервера и поэтому мог не устанавливать безопасное соединение с ним. Чтобы узнать больше об этом ситуация и как это исправить, пожалуйста, посетите упомянутую веб-страницу выше.

Я использую драйвер GCE, это GKE по умолчанию из облака Google.

Я читал, как добавить ключ ca, но эта ошибка не исправлена.

Я сделал следующее:

kubectl create secret generic ca --from-file certificate.ca.crt

И я добавил следующую аннотацию к входу:

ingress.kubernetes.io/auth-tls-secret: ca

Но не работает.

Кто-то знает, как исправить сертификат CA ?. Сертификат приобретен на веб-сайте DonDominio, и это Wildcard.

Большое спасибо!

1 Ответ

1 голос
/ 22 июня 2019

Проблема была в основном в том, что я использовал .crt вместо .pem, когда генерировал секрет TLS. Изменив секрет, я получил curl, чтобы определить его как действительный сертификат.

Новая команда:

kubectl create secret tls ingress-tls --key certificate.key --cert certificate.pem 

Спасибо @ Michael-sqlbot!

...