NGINX:GET的add_header不起作用

时间:2015-08-03 14:35:42

标签: nginx

以下(简化的)NGINX配置导致OPTIONS调用正确获取Access-Control-Allow-Origin标头,但不是GET:

location / {
    if ($request_method = OPTIONS ) {
        add_header 'Access-Control-Allow-Origin' '$http_origin' always;
        return 204;
    }
    add_header 'Access-Control-Allow-Origin' '$http_origin' always;
    try_files $uri @proxy_to_app;
}

location @proxy_to_app {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://app_server;
}

我已经尝试了location块中的每个组合,但没有任何效果,我能想到的唯一解决方法就是将此行移到location @proxy_to_app部分:

    add_header 'Access-Control-Allow-Origin' '$http_origin' always;

就像proxy_to_app块再次删除添加的标题一样。

1 个答案:

答案 0 :(得分:0)

正如Alexey Ten所述,我已将add_header移至@proxy_to_app

位置