小编Abh*_*mar的帖子

if条件如何在nginx conf中的位置块内工作?

我已阅读 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 变量被设置为 …

nginx nginx-location

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

nginx ×1

nginx-location ×1