входящая маршрутизация на основе домена не работает в браузере, но я могу свернуть URL-адрес на модуле входного контроллера - PullRequest
0 голосов
/ 28 мая 2018

Я установил входной контроллер по ссылке: https://cloud.google.com/community/tutorials/nginx-ingress-gke

, которая работает и работает

ИМЯ ТИП КЛАСТЕР-I ПОРТ ВНЕШНЕГО IP (S)

nginx-ingress-controller LoadBalancer XXXX XXXX1 80: 123 / TCP, 443: 456 / TCP

После этого я установил и выставил приложение как nodePort, загрузил приложение и запустил его.

Правила входа определены в приложении:

enter image description here

Очень хорошо, что я exec в inginx-Контроллер и проверить следующее:

Тесты: 1

Ввод: curl localhost

Выход: бэкэнд по умолчанию - 404

Тесты: 2

Ввод: curl localhost -H 'Host: foo.com'

Ввод: приложение работает нормально

Тесты: 3

Ввод: curl localhost -H 'Host: faa.com '

Вывод: приложение работает нормально

Тесты: 4 в браузере Chrome

  • Ввод: foo.com

  • Ввод: faa.com

Вывод: бэкэнд по умолчанию - 404

Я не могу определить, где мне не хватает перепроверить

Пожалуйста, поддержите меня за то же самое.

1 Ответ

0 голосов
/ 27 июня 2018

Посмотрев на ваш файл YAML, я вижу, что у вас нет бэкэнда по умолчанию в службе Ingress.«Бэкэнд по умолчанию» определит правила, которые будут приняты, если страница приведет к ошибке 404.

«Бэкэнд по умолчанию» отличается от backend в path.Бэкэнд по умолчанию должен находиться прямо под spec.

. Для получения дополнительной информации о бэкенде по умолчанию вы можете прочитать документацию k8s

Это какВы должны определить бэкэнд по умолчанию в своем файле YAML.

spec:
   backend:

По той же причине он не работает в браузере Chrome.Бэкэнда по умолчанию нет.

...