如果条件在Nginx conf中的位置块内如何工作?
我读过了 我想检查我的Rails应用程序是否已经添加了标题(Access-Control-Allow-Origin),如果还没有,则添加标题. 此处的示例试图解释nginx.conf http://agentzh.blogspot.in/2011/03/how-nginx-location-if-works.html中if条件的行为. 但是我还不明白.我的问题之一是当他们说指令或阶段指令时意味着什么? 我自己尝试过一些东西.喜欢:
在这里,如果满足if条件,则仅设置My-inner-header,而不设置My-outer-header. 但是当我这样做时:
这里$a变量设置为1,但仅再次设置了My-inner-header,而不设置了My-outer-header. 我想检查并确保是否执行了诸如proxy_set_header之类的指令. 最佳答案 我尚未测试您的代码.我只是根据经验说话!!!首先,请允许我指定Nginx配置与任何OOP行为(面向对象编程)根本不相似.一言以蔽之,它是“声明性”的. 含义…如果同一块中有两个同时满足条件的IF语句,则仅以第二个为准并执行. 如果1及其所有先前的声明在同一块中,则情况相同.由于存在IF,某些变量(不是全部)将不会执行,nginx希望在其中重新声明它们. 意见建议 a)尽可能避免在nginx中使用IF.请改用位置块.
b)如果必须使用IF,请谨慎使用并进行测试测试.如上所述,在if语句中重新声明所有内容都是一种好习惯(如上所述,请测试并排除任何重新声明都会破坏配置). 祝好运. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从Apache到Nginx的大括号({和})重写规则.
- 多站点WordPress在Nginx中重写规则
- django-nginx fastcgi-未处理的异常(从Django 1.2.4升级到D
- 拦截后端301/302重定向(proxy_pass)并重写到另一个位置块有
- Nginx:如何根据用户代理限制请求率
- django – 将应用程序级用户名/用户ID注入nginx/Apache日志
- curl-具有反向代理到替代端口号的Jenkins
- ubuntu – Nginx网站没有被拿起
- node.js – 使用不带子域的Nginx设置多个节点服务器
- django – 错误是什么意思? :“禁止(推荐人检查失败 – 没
- ubuntu – 使用nginx工作的Web服务器,直到创建.s
- google-app-engine – Appengine – 使用https的
- ruby-on-rails – NginX的乘客未在Fedora中注册为
- 我应该在nginx中使用rewrite或return或proxy_pas
- nginx没有在端口81上响应
- nginx – 如何在dokku服务器的根域指向Dokku应用
- 在django nginx wsgi中,什么是“mysite.sock”
- 如何配置nginx从其他文件夹加载try_files?
- nginx – 上传超时(110:连接超时)静态内容?
- ruby-on-rails – 如何让systemd用Puma重启Rails