Defina Access-Control-Allow-Origin no nginx usando o domínio curinga

4

Com nginx posso especificar Access-Control-Allow-Origin usando um curinga como *.mydomain.com ?

Será parecido com:

add_header Access-Control-Allow-Origin *.mydomain.com;

Obrigado.

    
por Justin 05.02.2013 / 20:56

2 respostas

3

Você com certeza pode. Eu uso a seguinte diretiva para suportar algumas de nossas fontes cross domain:

  add_header Access-Control-Allow-Origin *;
    
por 05.02.2013 / 21:09
2

você tem que fazer isso com uma condição if

location /  {
  set $cors "";
  if ($http_origin ~* (\.mydomain\.com|\.myseconddomain\.com)) {
      set $cors "true";
  }

  proxy_pass http://backend:10005/apathifyouwantso/;

  if ($cors = "true") {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'Access-Control-Allow-Headers' 'User-Agent,Keep-Alive,Content-Type';
  }
}
    
por 30.01.2017 / 13:20