K8s aks реагирует на проблему маршрутизации: маршрутизация не осуществляется с IP-адреса svc, но отлично работает с IP-адреса локального хоста

при перенаправлении порта svc и входе на локальный хост все работает нормально. с общедоступным IP-адресом от входа svc и nginx интерфейс доступен и работает нормально, единственная проблема заключается в том, что он не перенаправляется на следующую страницу, в то время как это происходит на локальном хосте. где это могло пойти не так?

ниже:
управляемые k8: Azure AKS
интерфейс: реакция докеризована и обслуживается через nginx

вход: входной контроллер nginx

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: api-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  ingressClassName: nginx
  rules:
    - host: ""
      http:
        paths:
          - path: /api(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: api-svc
                port:
                  number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: frontend-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    # nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/enable-modsecurity: "true"
    nginx.ingress.kubernetes.io/enable-owasp-modsecurity-crs: "true"
spec:
  ingressClassName: nginx
  rules:
    - host: ""
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: frontend-app-svc
                port:
                  number: 80
  1. NSG в порядке от AKS
  2. перенаправление портов локального хоста внешнего интерфейса работает нормально, но не происходит только маршрутизация с общедоступного IP-адреса svc и входа
  3. бэкэнд SVC работает нормально во всех случаях
  4. пытался перейти по точному пути после входа в систему, но это не работает
  5. пытался все убить и переделать
  6. несколько повторов с правилами входа
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это решено, опубликуйте этот ответ, если это кому-то поможет. основная причина в том, что если перенаправление портов на локальном хосте работает нормально, а домен нет, возможно, это происходит по следующей причине:

  1. проверьте правила NSG для IP-адреса
  2. проверьте, существует ли какой-либо список имен хостов на уровне вашего приложения, т. е. разрешите API только в том случае, если запрос поступает с определенного IP-адреса, или маршрутизируйте только из определенных списков.
  3. удалите правила входа и попробуйте проверить на уровне svc, чтобы проверить, является ли это проблемой пути или проблемой уровня приложения.

в основном это помогло мне найти первопричину, в моем случае приложение имело список allowedHostnames, и маршрутизация аутентификации работала только в том случае, если IP-адрес находится из этого списка.

Другие вопросы по теме