Заголовки CORS приходят дважды в ответ - PullRequest
0 голосов
/ 31 января 2020

Бэкэнд-приложение работает поверх платформы microronaut. Ниже приведена ошибка, которую я получаю в ответ.

Доступ к XMLHttpRequest в «y» из источника «x» был заблокирован политикой CORS: заголовок «Access-Control-Allow-Origin» содержит несколько значений «x, x», но только допускается один.

Когда приложение работает как автономный jar, оно работает нормально. Проблема возникает, когда он работает внутри стручка. Пробовал войти в модуль и запустил там команду CURL, и, похоже, туда также приходят двойные заголовки.

Для Micronaut я выполнил следующие настройки.

micronaut:
  server:
     cors:
        enabled: true

Может кто-нибудь указать, откуда эти заголовки могут быть добавлены. Контроллер входа может быть исключен, так как в модуле я вижу двойные заголовки.

Некоторые копали самостоятельно. Ниже был анализ. Docker Сборка изображения локально дает эти заголовки

HTTP/1.1 200 OK
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Date: Sat, 1 Feb 2020 13:13:47 GMT
content-type: application/json
content-length: 169
connection: keep-alive

В то время как docker Сборка изображения через наш конвейер и выполнение curl дает заголовки ниже

HTTP/1.1 200 OK
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: test.com
Vary: Origin
Access-Control-Allow-Credentials: true
Date: Sat, 1 Feb 2020 13:13:47 GMT
content-type: application/json
content-length: 169
connection: keep-alive

1 Ответ

1 голос
/ 04 февраля 2020

Пожалуйста, проверьте свою конфигурацию для плагина Maven Shade. Это должно быть

<execution>
  <phase>install</phase>
  <goals>
    <goal>shade</goal>
  </goals>

Если вы указали его в фазе «пакет», тогда запуск

mvn install
mvn package

приведет к нескольким записям в META-INF / services

...