nginx + webdav + microsoft
Пропатчил я nginx'овский модуль, чтобы он он допускал отсутствие слеша в именах коллекций. Тестирую дальше.
Прошу чувака с виндой подключиться к webdav диску. Он говорит: "че-то оно папки не создает."
Я смотрю в лог, а там просто вериница из запросов PROPFIND к New Folder (NNNN), где NNNN мнотонно возрастает от единицы до пяти тысяч с хером.
Я говорю, "мужик, как ты этого добился. Пять тысяч папок!", он говорит "не знаю. Я нажал "New Forlder" а оно завсло."
Короче выяснилось, что этот ms-клиент перед тем как создать папку, логично, проверяет, что этой папки там нет. Но результат проверки его чем-то не устраивает и он пытается создать папку со следующим номером....
Полез проверять что его не устраивает. Взял tcpdump, взял спецификацию. Вкурил. Вроде все по чертежу.
Решил посмотреть на пример который заведомо работает.
Сначала пытался подключится к янднекс диску, через openssl. Оказывается openssl можно использовать как telnet для работы с https соединениями... Не сумел правильно пройти Basic auth.
Плюнул, развернул еще виртуалку, поставил апач с webdav. В апаче папочка создалась. Я давай в tcpdump смотреть. А он и говоит, что апач на PROPFIND несуществующего файла отвечает 404. По спецификации должно быть 207 multi status с xml'кой внутри, в которой сказано 404. И nginx-dav-ext так и отдает А MS понимает только простое 404. Бляди сэр!
И вот теперь встает вопрос, что проще: пропатчить nginx_dav_ext чтобы тоже отдавал 404 или разобраться как сделать per user директории в webdav от апача...
Прошу чувака с виндой подключиться к webdav диску. Он говорит: "че-то оно папки не создает."
Я смотрю в лог, а там просто вериница из запросов PROPFIND к New Folder (NNNN), где NNNN мнотонно возрастает от единицы до пяти тысяч с хером.
Я говорю, "мужик, как ты этого добился. Пять тысяч папок!", он говорит "не знаю. Я нажал "New Forlder" а оно завсло."
Короче выяснилось, что этот ms-клиент перед тем как создать папку, логично, проверяет, что этой папки там нет. Но результат проверки его чем-то не устраивает и он пытается создать папку со следующим номером....
Полез проверять что его не устраивает. Взял tcpdump, взял спецификацию. Вкурил. Вроде все по чертежу.
Решил посмотреть на пример который заведомо работает.
Сначала пытался подключится к янднекс диску, через openssl. Оказывается openssl можно использовать как telnet для работы с https соединениями... Не сумел правильно пройти Basic auth.
Плюнул, развернул еще виртуалку, поставил апач с webdav. В апаче папочка создалась. Я давай в tcpdump смотреть. А он и говоит, что апач на PROPFIND несуществующего файла отвечает 404. По спецификации должно быть 207 multi status с xml'кой внутри, в которой сказано 404. И nginx-dav-ext так и отдает А MS понимает только простое 404. Бляди сэр!
И вот теперь встает вопрос, что проще: пропатчить nginx_dav_ext чтобы тоже отдавал 404 или разобраться как сделать per user директории в webdav от апача...