Менеджер сертификатов Kuberenetes и nginx

#kubernetes #google-kubernetes-engine #kubernetes-ingress

#kubernetes #google-kubernetes-engine #kubernetes-вход

Вопрос:

Я пытаюсь настроить jetstack / cert-manager в kubernetes. Это обеспечит сертификаты для нескольких моих поддоменов. Это отлично работало, пока мне не понадобилось создать файл nginx.conf.

Что происходит сейчас, так это то, что все запросы от cert-manager к http://www.redacted.com/.well-know/challenge/xx обрабатываются моим модулем приложений, а не блоками cert-manager.

Кто-нибудь знает, как я могу сохранить файл конфигурации nginx, но позволить всем известным запросам обрабатываться блоками cert-manager? Кажется, что если бы я мог выбрать порядок входов, я мог бы установить приоритет для входа моего приложения на последний, чтобы автоматически созданные входы cert-manager запускались первыми.

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

Ответ №1:

Попробуйте добавить службу для своих модулей cert manager, а затем создайте и введите ресурс с hostPath как /.well-known. Все ваши запросы по указанному вами URL будут отправлены в службу, которую вы создадите для модулей.

Ответ №2:

Итак, я понял это, и это, конечно, не было проблемой с cert-manager!

Мой корневой домен, например, <redacted>.com автоматически перенаправлялся на www.<redacted>.com , но также пытался сгенерировать сертификат на <redacted>.com , а также для поддоменов. Сбой Cert-manager, поскольку он не смог достичь .well-known/acme-challenge корневого домена при перенаправлении.

Способ, которым я планирую решить эту проблему, заключается в создании корневого сертификата через DNS, а не HTTP, и таким образом сертификат все еще будет действителен для <redacted>.com , и я все еще могу пересылать как http, так и https-соединения на поддомен www.