Я делаю междоменный запрос в своем веб-приложении.
Я установил заголовки CORS на Nginx. Все работает нормально, за исключением случаев, когда служба возвращает ошибку, например 404, 400, 500 и т. Д., Вместо получения кода ошибки служба выдает ошибку с сообщением, что Origin *********** is not allowed by Access-Control-Allow-Origin
.
Есть идеи, почему это может происходить?
Так выглядит настройка nginx;
location /api {
add_header Access-Control-Allow-Origin *;
}
Ты можешь использовать всегда директива, запускающая nginx 1.7.5 (* Особенность: параметр always в директиве add_header.)
add_header 'Access-Control-Allow-Origin' '*' always;
К сожалению add_header
не будет работать с кодами состояния, отличными от 200, 204, 301, 302 или 304. Вы можете найти это в документации здесь.
Возможно, вы сможете использовать этот плагин для того, что хотите:
Я могу подтвердить, что headers_more модуль (упомянутый в этот ответ) можно использовать для добавления заголовков для всех ответов HTTP, независимо от кода состояния.
Примечание: Вам может понадобиться обходной путь на https://github.com/openresty/headers-more-nginx-module/issues/24 для сборки этого модуля с помощью Nginx в Windows, но он работает должным образом после компиляции.