这个apache规则的nginx等价物是什么?

时间:2018-06-11 14:38:40

标签: apache nginx

我有以下apache规则。它基本上需要在URL中搜索“basicauth”标记并向前插入Authorization标头。我被要求提供与此相当的nginx - 我不使用nginx。任何人都可以这么善良提供nginx等价物吗?我尝试使用在线apache-nginx转换器但是一个忽略了规则而另一个产生了似乎不正确的结果。

RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)basicauth=([^&]+)
RewriteRule (.*) - [E=QS_TOKEN:%1]
RequestHeader set Authorization "Basic %{QS_TOKEN}e" env=QS_TOKEN

2 个答案:

答案 0 :(得分:0)

这是另一个htaccess to nginx converter的输出。你可能想看看这个。

if ($args ~ "(?:^|&)basicauth=([^&]+)"){
    set $rule_0 1$rule_0;
    set $bref_1 $1;
}
if ($rule_0 = "1"){
    setenv QS_TOKEN:$bref_1;
}

答案 1 :(得分:0)

这在适当的location块中起作用:

if ($query_string ~ "(?:^|&)basicauth=([^&]+)") {
    add_header Authorization "Basic $1";
 }