![Como adicionar cabeçalhos CORS a vários locais no nginx?](https://rvso.com/image/668773/Como%20adicionar%20cabe%C3%A7alhos%20CORS%20a%20v%C3%A1rios%20locais%20no%20nginx%3F.png)
Consegui adicionar suporte CORS básico ao meu servidor nginx usando o código fornecido emenable-cors.org. Porém esta solução implica copiar e colar esse código em cada bloco de localização, e tenho vários locais como o seguinte:
location /game1 {
alias /development/games/game1/output;
index index.html;
}
location /game2 {
alias /development/games/game2/output;
index index.html;
}
Existe uma maneira de criar uma regra que inclua add_header
fora dos location
blocos?
Edite para esclarecer: Eu tentei o seguinte
server {
listen 80;
server_name localhost;
charset UTF-8;
#access_log logs/host.access.log main;
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
...
}
location /game1 {
alias /development/games/game1/output;
}
...
}
Mas não funciona:
2015/10/14 19:00:01 [emerg] 3464#7384: "add_header" directive is not allowed
here in C:\development\servers\nginx-1.7.9/conf/nginx.conf:43
Responder1
Claro, você pode adicionar add_header
abaixo do server
bloco, mas então isso serásempreser enviado, o que pode não ser o que você deseja.
Caso contrário, você pode criar um arquivo com as diretivas desejadas e, em seguida, include
a partir de cada location
um onde deseja adicionar os cabeçalhos CORS.