webdav+ext base.auth+var=error
Maxim Dounin
mdounin at mdounin.ru
Mon Apr 13 20:18:53 UTC 2015
Hello!
On Mon, Apr 13, 2015 at 01:32:44PM -0400, itcod wrote:
> Максим добрый день. Вы были абсолютно правы. В процессе написания
> аутентификатора на lua выяснил, что если переменные (например
> $file_password) создается в location / то при работе из WEBDAV клиентов они
> не обрабатываются и остаются пустыми. Видимо это жучёк в nginx.
> Вот так не работает:
> server {
> ...
>
> location / {
> set $file_password $dir/$1;
> ...
> }}
>
> А если их глобально вынести выше описания location в секцию server то они
> заполняются (не пусты).
> Вот так работает:
> server {
> ...
> set $file_password $dir/$1;
>
> location / {
> ...
> }}
При этом в "location /" ипользуется limit_except, правильно?
Выглядит как багофича limit_except в сочетании с rewrite'ами,
директивы rewrite не выполняются для "лимитированных" запросов.
Наверное, это имеет смысл поправить.
> И кстати при работе с WEBDAV, аутентификация через дополнительный реквест
> /auth у меня ни разу не сработала... много проверил вариаций.... гдето в
> инете вычитал, что это ошибка в nginx и патч видел для nginx.... но мне
> такой вариант не понравился.
Повторюсь: если показать конфигурацию - больше шансов, что помогут
найти проблему.
Единственная известная мне проблема, проявлявшаяся при
взаимодействии dav'а и auth_request'а - исправлена больше двух лет
назад, в nginx 1.3.9.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru