我有以下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
答案 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";
}