nginx set指令的妙用

2021-08-11 14:48:05 浏览数 (1)

在配置文件中通常是在server{}中,要基于多条件判断进行跳转/拦截/回源等需求时,可以通过使用nginx set指令来实现。

set指令是用于定义一个变量,并且赋值。

条件判断可以根据nginx内置的全局变量进行判断然后使用set 赋值。

在nginx配置文件中使用如下:

set $rewriteFlag 0;

#这里可以加上条件判断,比如客户端ip为12.34.56.78/24时set 1 set $rewriteFlag '${rewriteFlag}1';

#这里可以加上条件判断,比如根据$http_referer/$cookie_name/$request_uri等判断进行赋值set 2 set $rewriteFlag '${rewriteFlag}2';

#这里的意思是当请求ip为12.34.56.78/24,且$http_referer/$cookie_name/$request_uri为你设置的条件

#那么进行跳转,看见了吧这就是利用多条件进行操作的过程。更复杂的多条件情况下可以自行判断构造。

if ($rewriteFlag= '012') { # rewrite ^(.*) https://www.mywebsite.com$request_uri break; }

0 人点赞