需安装http-dav-ext扩展,有时使用非标准webdav客户端删除目录时最后不带/,nginx删除目录失败返回409,alias不支持rewrite使用root。
location /webdav/ {
satisfy any;
allow 127.0.0.1;
deny all;
#root /;
#if (-d $request_filename) { rewrite ^(.*[^/])$ $1/ break; }
alias /webdav/;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:r all:r;
create_full_put_path on;
port_in_redirect off;
autoindex on;
autoindex_localtime on;
charset utf-8;
auth_basic "Login";
auth_basic_user_file htpasswd;
}
使用curl测试webdav:
新建目录,注意最后一定要带/,不然返回409,MKCOL can create a collection only
curl -X MKCOL https://www.haiyun.me/webdav/test/
上传文件:
curl -T filename https://www.haiyun.me/webdav/
重命名文件:
curl -X MOVE --header 'Destination:https://www.haiyun.me/webdav/newname' https://www.haiyun.me/webdav/filename
删除文件:
curl -X DELETE https://www.haiyun.me/webdav/filename