#kubernetes #https #dns #google-kubernetes-engine #kubernetes-ingress
#kubernetes #https #dns #google-kubernetes-engine #kubernetes-вход
Вопрос:
У меня есть микросервисная архитектура (реализованная в Spring Boot), развернутая в Google Kubernetes Engine. Для этой микросервисной архитектуры я настроил следующее:
-
сертификат для этого домена
Проблема в том, что когда я вызываю URL, который, как я знаю, должен работатьhttps://comanddev.tk/customer-service/actuator/health , я получаю ответ ERR_TIMEDOUT. Я проверил контроллер входа, и я не получаю никаких запросов при входе, хотя перенаправление URL настроено.
Обновление: я попытался установить «склеивающую запись», как на следующем рисунке, и получаю ответ, что сертификат недействителен (у меня есть сертификат для comanddev.tk нет dev.comanddev.tk ) и я получаю 401 после согласия на доступ к незащищенному URL.
Комментарии:
1. Вы используете Nginx Ingress или GCP Ingress? Какую версию GKE вы используете. В чем именно заключается ошибка? Не могли бы вы предоставить свои YAMLS? Вы настроили брандмауэр?
2. Я думаю, @PjoterS GCP-вход. GKE 1.15.12-gke. 2. Ошибка — это та, о которой уже говорилось. что именно из YAML и на какой YAML вы ссылаетесь? Как настроить брандмауэр?
3. Когда я
$ curl -IL http://comanddev.tk/customer-service/actuator/health
получаю ответ. Также вы используетеnginx ingress
. Пожалуйста, предоставьте более подробную информацию. Как вы создавали сертификаты, весь вашIngress
YAML (без личных данных). Открыт ли у вас порт HTTPS? Вы следовали этим документам или использовали стороннее программное обеспечение?
Ответ №1:
Я немного покопался в этом.
Как я уже упоминал, когда вы $ curl -IL http://comanddev.tk/customer-service/actuator/health
получите nginx ingress
ответ.
Поскольку домен перехватывает запрос и перенаправляет на сервер назначения, я не уверен, есть ли смысл использовать TLS.
Я бы посоветовал вам использовать nameserver
вместо URL Forwarding
просто использовать IP
из вашего Ingress
. В этом варианте вы перенаправили бы запрос на свой вход. Когда вы используете, Port Forwarding
вы используете Freenom redirection
, и я не уверен, как это обрабатывается на их стороне.
Комментарии:
1. Привет @PjoterS и спасибо за проявленный интерес. У меня все еще нет решения. Я обновил информацию о том, что произойдет после того, как я попробую ваш способ. По-прежнему не работает, я получаю 401
2. Хорошая часть в том, что я вижу запросы, поступающие в loadbalancer, я вижу журналы. Но я не понимаю, почему я получаю 401
3. URL, который я пытаюсь найти, является: dev.comanddev.tk/customer-service/actuator/health Это не ограничено и должно обеспечить действительный ответ
4. Установите уровень журнала отладки в одном из микросервисов, и /actuator / health придет и вернет 200 OK, но Ingress вернет 401. Я не знаю, как проверить, почему он возвращает 401