Embora isso tenha sido solicitado há muito tempo, eu estava compilando o nginx com mais módulos, mas com a versão mais recente do nginx, descobri que não precisava compilar o nginx, tudo que eu precisava era adicionar uma always
diretiva.
http://nginx.org/en/docs/http/ngx_http_headers_module.html
Syntax: add_header name value [always];
Se o parâmetro always for especificado (1.7.5), o campo do cabeçalho será adicionado independentemente do código de resposta.
Portanto, uma versão ajustada dos cabeçalhos CORS :
if ($cors = "trueget") {
# Tells the browser this origin may make cross-origin requests
# (Here, we echo the requesting origin, which matched the whitelist.)
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
# Tells the browser it may show the response, when XmlHttpRequest.withCredentials=true.
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
always
foi a chave. Obrigado por me indicar isso, eu estava ficando louco!