Что является эквивалентом nginx для этого правила apache? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть следующее правило apache.По сути, он должен искать токен «basicauth» внутри URL и вставлять заголовок авторизации вперед.Меня попросили предоставить эквивалент 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 голосов
/ 11 июня 2018

Это сработало внутри соответствующего блока location:

if ($query_string ~ "(?:^|&)basicauth=([^&]+)") {
    add_header Authorization "Basic $1";
 }
0 голосов
/ 11 июня 2018

Вот вывод еще одного конвертера htaccess в nginx .Вы можете проверить это.

if ($args ~ "(?:^|&)basicauth=([^&]+)"){
    set $rule_0 1$rule_0;
    set $bref_1 $1;
}
if ($rule_0 = "1"){
    setenv QS_TOKEN:$bref_1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...