Назад | Перейти на главную страницу

CORS не работает на Nginx

Мне нужно, чтобы мое приложение работало с backend API в другом домене. Я использую nginx 1.12.1 в Ubuntu 16.04.

Я добавил в конфигурацию своего хоста следующее (в раздел location ~ .php $):

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';

Перезагрузил nginx и протестировал его со следующим JS:

var req = new XMLHttpRequest();
req.open('GET', 'http://api.mydomain.com/v1/client', false);
req.send(null);
var headers = req.getAllResponseHeaders();
console.log(headers);

Журнал консоли:

тип содержимого: приложение / json; charset = UTF-8

Это означает, что CORS включен, но другие заголовки не получены. Как получить другие заголовки?