Eu preciso que meu aplicativo funcione com a API de back-end em outro domínio. Eu uso o nginx 1.12.1 no Ubuntu 16.04.
Eu adicionei a minha configuração de host a seguir (para a localização ~ .php $ section):
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';
Recarregou o nginx e testou-o com o seguinte 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);
O log do console é:
content-type: application/json; charset=UTF-8
Isso significa que o CORS está ativado, mas nenhum outro cabeçalho foi recebido. Como conseguir outros cabeçalhos?
Tags nginx http-headers cors