在Nginx中使用变量 request_uri

问题描述 投票:0回答:1

早上好,程序员们,我想保护一个文件,为此我只想允许我定义的request_uri。

if ($request_uri !~* "d=123") {
return 403;
}

在这种情况下,这个例子是可行的, 但我想做这样的事情。

set $teste 123;
if ($request_uri !~* "d=$teste") {
return 403;
}

所以我想通过变量来实现,这可能吗?因为我已经测试了一堆例子,但没有一个成功的。

P.S: 我使用的是OpenResty (Nginx+Lua),所以如果有可能用lua解决,我也会接受。

variables nginx lua webserver openresty
1个回答
0
投票

假设 d 是你的查询参数,而 123 是它的价值,你可以试试这样的东西。

set $teste 123;
if ($request_uri ~* "[?&]d=([^&]*)") { set $d $1; }
if ($d != $teste) {
    return 403;
}
© www.soinside.com 2019 - 2024. All rights reserved.