我已阅读 https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
我想检查我的 rails 应用程序是否已经添加了标题 ( Access-Control-Allow-Origin),如果还没有添加标题。
这里的例子试图解释ifnginx.conf中条件的行为http://agentzh.blogspot.in/2011/03/how-nginx-location-if-works.html
但我没有理解它。我的问题之一是当他们说指令或阶段指令时是什么意思?
我自己尝试了一些东西。喜欢:
location / {
add_header My-outer-header '*';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
if($sent_http_access_control_allow_origin != /*){
add_header My-inner-header '**';
}
}
Run Code Online (Sandbox Code Playgroud)
这里当满足 if 条件时,只My-inner-header设置而不是My-outer-header。
但是当我这样做时:
location / {
add_header My-outer-header '*';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
set $a 1;
if($a == 1){
add_header My-inner-header '**';
}
}
Run Code Online (Sandbox Code Playgroud)
这里 $a 变量被设置为 …