Максим добрый день. Вы были абсолютно правы. В процессе написания аутентификатора на lua выяснил, что если переменные (например $file_password) создается в location / то при работе из WEBDAV клиентов они не обрабатываются и остаются пустыми. Видимо это жучёк в nginx.
Вот так не работает:
server {
...
location / {
set $file_password $dir/$1;
...
}}
А если их глобально вынести выше описания location в секцию server то они заполняются (не пусты).
Вот так работает:
server {
...
set $file_password $dir/$1;
location / {
...
}}
И кстати при работе с WEBDAV, аутентификация через дополнительный реквест /auth у меня ни разу не сработала... много проверил вариаций.... гдето в инете вычитал, что это ошибка в nginx и патч видел для nginx.... но мне такой вариант не понравился.