Ну, да, nginx объединяет заголовки с одинаковыми именами ... но делает это в соответствии со спецификацией HTTP. Смотрите раздел 4.2 .
Заголовок:
Access-Control-Allow-Origin: http://dev.anuary.com, https://dev.anuary.com
В соответствии со спецификацией HTTP / 1.1 функционально эквивалентно:
Access-Control-Allow-Origin: http://dev.anuary.com
Access-Control-Allow-Origin: https://dev.anuary.com
Если у вас есть система или приложение, способное читать один формат, а не другой, то это проблема. nginx делает все правильно.
РЕДАКТИРОВАТЬ :
Документация Mozilla гласит, что может быть только один Access-Control-Allow-Origin
заголовок.
Форматирование ( см. Здесь ) должно быть разделено пробелами:
add_header Access-Control-Allow-Origin "http://dev.anuary.com https://dev.anuary.com";
Но на самом деле, вы должны повторять Origin
заголовок, предоставленный клиентом, а не генерировать его на ровном месте. Это, вероятно, более уместно:
if ($http_origin ~* "^https?://dev\.anuary\.com$" ) {
add_header Access-Control-Allow-Origin $http_origin;
}
http://example.com
иhttp://localhost:3000
)?Прочтите этот пост для настройки вашего nginx CORS с динамическими доменами: https://qa.lsproc.com/post/access-control-allow-origin-multiple-origin-domains
источник
Я столкнулся с той же проблемой, что и несколько поддоменов в моей сети, пытаясь получить доступ к ресурсам, и он
nginx
был неправильно настроен. Вот как я это исправил.Надеюсь, это поможет.
источник