Мне удалось добавить базовую поддержку CORS на свой сервер nginx, используя код, представленный в enable-cors.org. Однако это решение подразумевает копирование и вставку этого кода в каждый блок местоположения, и у меня есть несколько таких местоположений, как следующее:
location /game1 {
alias /development/games/game1/output;
index index.html;
}
location /game2 {
alias /development/games/game2/output;
index index.html;
}
Есть ли способ создать правило, включающее add_header
вне location
блоки?
Изменить, чтобы уточнить: Я пробовал следующее
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;
}
...
}
Но это не работает:
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
Конечно, вы можете добавить add_header
под server
блок, но тогда он будет всегда быть отправленным, что может быть не тем, что вы хотите.
В противном случае вы можете создать файл с нужными директивами, а затем include
это от каждого location
где вы хотите добавить заголовки CORS.