Аннотации контроллера входящего трафика для поддержки нескольких источников cors
У меня есть кластер kubernetes с несколькими развернутыми в нем службами, теперь мое приложение angular пытается подключиться к микросервису через URL-адрес балансировщика сетевой нагрузки, подключенный к входу, теперь в аннотации CORS я хочу указать набор доменов, которые могут получить доступ к Сервисы
У меня есть приложение angular портала администратора и приложение angular пользовательского портала, оба имеют разные домены, оба хотят подключиться к службе в кластере kubernetes.
Предположим, как мы могли указать
Сейчас моя конфигурация разрешает все источники,
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 - это два, о которых я знаю, которые поддерживают множественное происхождение, я уверен, что есть и другие.