NGINX:add_header GET 不工作
NGINX: add_header for GET not working
以下(简化的)NGINX 配置导致 OPTIONS 调用正确获取 return 中的 Access-Control-Allow-Origin header headers,但 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
块正在再次删除添加的 headers。
正如 Alexey Ten 所说,我将 add_header
移动到位置 @proxy_to_app
以下(简化的)NGINX 配置导致 OPTIONS 调用正确获取 return 中的 Access-Control-Allow-Origin header headers,但 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
块正在再次删除添加的 headers。
正如 Alexey Ten 所说,我将 add_header
移动到位置 @proxy_to_app