WebDAV, UTF-8, проблемы с русскими буквами у клиентов

vassin nginx-forum at nginx.us
Sun Feb 23 01:36:45 UTC 2014


День добрый!

Обнаружилась проблема с чтением и отображением русских букв при доступе к
файлам через WebDAV. Проблема заключается в том, что клиенты WebDAV, которые
подключаются к серверу "обрывают" отображение папок и файлов, как только
встречают названия на русском.
Во всех клиентах была включена кодировка UTF-8 принудительно. Эти же самые
клиенты при подключении к серверу на основе apache.mod_dav всё отображают
правильно.
Использовать apache в качестве back-end-а не вариант, т.к. у его DAV модуля
есть другие критические проблемы (скорость, не возможность работы с symlink
и т.д.)

Что можно сделать с этой проблемой? Что настроить?

Список клиентов и как они отрабатывали запросы к ngnix:
1. fuse, wdfs - не показывает русские буквы (если подключаться к WebDAV на
apache, то показывает).
2. NetDrive - не показывает русские буквы, но отлично показывает английские
(основной Windows-клиент для WebDAV).
3. WebDrive - хорошо показывает все буквы (но компания не готова его
применять, т.к. он платный).
4. Обычные (любые) вебраузеры - отлично. Всё показывали и скачивали.

Собственно конфигурация webdav на nginx ниже:

# Обработка пути /files
location /files {
# Журнал доступа к файлам.
access_log /var/log/nginx/db-files.log default buffer=32k flush=5;

# Корневая директория для файлов.
root /db/www/db/;

autoindex on;

client_max_body_size 16G;

dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;

create_full_put_path on;

dav_access group:rw all:rw;

limit_except GET {
allow all;
# deny all;
}
}

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,247873,247873#msg-247873



Подробная информация о списке рассылки nginx-ru