Аннотации контроллера входящего трафика для поддержки нескольких источников cors

У меня есть кластер kubernetes с несколькими развернутыми в нем службами, теперь мое приложение angular пытается подключиться к микросервису через URL-адрес балансировщика сетевой нагрузки, подключенный к входу, теперь в аннотации CORS я хочу указать набор доменов, которые могут получить доступ к Сервисы

У меня есть приложение angular портала администратора и приложение angular пользовательского портала, оба имеют разные домены, оба хотят подключиться к службе в кластере kubernetes.

Предположим, как мы могли указать в аннотации ingress cors

Сейчас моя конфигурация разрешает все источники,

      nginx.ingress.kubernetes.io/cors-allow-origin: "*"

Теперь я хочу указать что-то вроде

      nginx.ingress.kubernetes.io/cors-allow-origin: www.angular1.com,www.angular2.com

Какой правильный стандарт.

1 ответ

nginx.ingress.kubernetes.io/cors-allow-origin: определяет, какой источник будет принят для CORS.

Это одно значение поля

kubernetes.github.io - https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#enable-cors

Существует открытая проблема GitHub с запросом поддержки для этой функции: https://github.com/kubernetes/ingress-nginx/issues/5496

Вы можете видеть, что некоторые пользователи в проблеме использовали nginx.ingress.kubernetes.io/configuration-snippet для настройки cors, как в конфигурационном файле nginx.

Если у вас есть контроль над кластером, вы также можете подумать о смене контроллеров входа. Emissary-ingress и Traefik - это два, о которых я знаю, которые поддерживают множественное происхождение, я уверен, что есть и другие.

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