Я настроил каталог webdav в nginx следующим образом:
server {
root /home/webuser/www/
# some more locations for static content
location /password-repo/ {
root /home/webuser/www/dav;
client_body_temp_path /var/dav/temp;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:rw;
autoindex on;
auth_basic "restricted";
auth_basic_user_file /etc/nginx/htpasswd;
}
}
Мне удается подключиться к нему с помощью WinSCP по протоколу WebDav, TLS включен, порт 443, мой хост, а в дополнительных настройках я указал /password-repo
как удаленный каталог.
Но я заметил несколько странных вещей:
- путь на вкладке WinSCP такой
user@host/password-repo/Password-repo
- Дата родительской папки — 30/12/1899.
- Я поместил пустой файл с сервера с помощью «touch test» в папку, указанную в корне, и не вижу его в WinSCP
- Когда я пытаюсь загрузить файл, сначала появляется всплывающее окно с подтверждением от WinSCP, предлагающее перезаписать загружаемый файл (который не существует), а если я соглашаюсь, то получаю ошибку 500.
Что происходит?
решение1
Чтобы это заработало, мне пришлось сделать две вещи:
- chown dav для пользователя nginx
- создайте каталог "password-repo" в /home/webuser/dav/