Страницы веб-приложения Ioni c не открываются с помощью Ingress Controller - PullRequest
0 голосов
/ 09 июля 2020

У меня есть веб-приложение Ioni c 5.0, работающее на кластере Google K8s. Я использую Nginx Ingress Controller. Для доступа к нему настроен следующий входной ресурс:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gateway-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: true
spec:
  rules:
    - http:
        paths:
          - path: /webapp/(/|$)(.*)
            backend:
              serviceName: webapp-frontend
              servicePort: 80

Я могу получить доступ к приложению по следующему URL-адресу:

  • http://1.2.3.4/webapp Работает Fine, и страница открывается
  • http://1.2.3.4/webapp/ Работает Fine, и страница открывается
  • http://1.2.3.4/webapp/login. Не работает, появляется сообщение «Не найден. Запрошенный URL не был найден на этом сервере».

Я не понимаю, что не так с конфигурацией здесь. Пожалуйста, помогите.

#### РЕДАКТИРОВАТЬ ####

Мое веб-приложение развернуто на модуле и имеет следующий URL-адрес, и он доступен через сервис 'webapp- frontend ':

Я хочу, чтобы когда пользователь нажимал URL-адрес в браузере, должно происходить следующее:

1 Ответ

0 голосов
/ 09 июля 2020

Есть кое-что, на что вам следует обратить внимание:

  • NetworkPolicy в версии extensions/v1beta1 API больше не обслуживается из Kubernetes версии 1.16. Вместо этого вы должны использовать networking.k8s.io/v1beta1.

  • Вы используете аннотацию rewrite и, исходя из вашей конфигурации, она должна быть:

http://1.2.3.4/webapp перезаписать в http://1.2.3.4/

http://1.2.3.4/webapp/ перезаписать в http://1.2.3.4/

http://1.2.3.4/webapp/login перезаписать в http://1.2.3.4/login

Вам необходимо убедиться, что ваш Ingress попадает в правильный URL. Сам конфиг выглядит нормально. Ошибка может быть в логе c за перезаписью, которую вы хотели бы реализовать. При необходимости обратитесь к связанной документации . Если он по-прежнему не работает должным образом, отредактируйте свой вопрос и предоставьте более подробную информацию (что нужно переписать где, et c).

Это должно решить вашу проблему со стороны Kuberentes. Пожалуйста, дайте мне знать, помогло ли это.

...