Pude agregar soporte CORS básico a mi servidor nginx usando el código proporcionado enenable-cors.org. Sin embargo, esta solución implica copiar y pegar ese código en cada bloque de ubicación, y tengo varias ubicaciones como las siguientes:
location /game1 {
alias /development/games/game1/output;
index index.html;
}
location /game2 {
alias /development/games/game2/output;
index index.html;
}
¿Hay alguna manera de crear una regla que incluya add_header
fuera de los location
bloques?
Editar para aclarar: He probado lo siguiente
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;
}
...
}
Pero no 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
Respuesta1
Claro, puedes agregar add_header
debajo del server
bloque, pero luego lo hará.siempreenviarse, que podría no ser lo que desea.
De lo contrario, puede crear un archivo con las directivas que desee y luego include
desde cada uno de location
los lugares donde desee agregar los encabezados CORS.