nginx 访问控制之 document_uri

这就用到了变量$document_uri,根据前面所学内容,该变量等价于$uri,其实也等价于location匹配。

示例1:

if ($document_uri ~ "/admin/")
{
    return 403;
}

说明:当请求的uri中包含/admin/时,直接返回403.

if结构中不支持使用allow和deny。

测试链接:
1. www.xxx.com/123/admin/1.html 匹配
2. www.xxx.com/admin123/1.html  不匹配
3. www.xxx.com/admin.php  不匹配

示例2:

if ($document_uri = /admin.php)
{
    return 403;
}

说明:请求的uri为/admin.php时返回403状态码。

测试链接:
1. www.xxx.com/admin.php 匹配
2. www.xxx.com/123/admin.php  不匹配

示例3:

if ($document_uri ~ '/data/|/cache/.*\.php$')
{
    return 403;
}

说明:请求的uri包含data或者cache目录,并且是php时,返回403状态码。

测试链接:
1. www.xxx.com/data/123.php  匹配
2. www.xxx.com/cache1/123.php 不匹配

猜你喜欢

转载自www.cnblogs.com/yyxianren/p/10837287.html
今日推荐