http
中的nginx.conf
块包含以下内容:
auth_basic $development_exceptions;
在包含的文件中,geo
模块用于设置变量:
geo $development_exceptions {
default "Not allowed.";
1.2.3.4 "off";
}
map
模块在同一个包含文件中使用用户代理变量:
map $http_user_agent $development_exceptions {
default "Not allowed.";
~*(header-text) "off";
}
但是,开发异常变量的设置是竞争的,因此当应用第二个代码时,第一个代码会停止执行任何操作。
两种策略如何结合起来?在这种情况下,可能无法更改nginx.conf
。
答案 0 :(得分:1)
然后你应该尝试以下方法
geo $development_exceptions_geo {
default "Not allowed.";
1.2.3.4 "off";
}
map $http_user_agent $development_exceptions_agent {
default "Not allowed.";
~*(header-text) "off";
}
现在,如果您想使用or
条件,则可以执行以下操作
map $development_exceptions_agent$development_exceptions_geo $development_exceptions {
~off "off";
default "Not allowed.";
}
如果您需要and
条件,则可以执行以下操作
map $development_exceptions_agent$development_exceptions_geo $development_exceptions {
~offoff "off";
default "Not allowed.";
}