我已经能够使用提供的代码向我的 nginx 服务器添加基本的 CORS 支持启用 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
答案1
当然,你可以在块add_header
下添加server
,但这样它就会总是被发送,这可能不是您想要的。
否则,您可以创建一个包含所需指令的文件,然后include
从每个location
想要添加 CORS 标头的地方创建一个文件。