我正在尝试在nginx中设置一个webdav文件夹,只有一个用户可以写入/删除/创建,但匿名用户可以读取。
该文件夹的我的nginx配置如下:
location /webdav/joe/ {
client_body_temp_path /tmp;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
limit_except GET PROPFIND OPTIONS { }
create_full_put_path on;
dav_access user:rw group:rw all:r;
fancyindex on;
fancyindex_exact_size off;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/auth/joe;
}
以上内容正确地限制了仅对joe的访问(joe是其中包含用户joe的httppasswd文件)。但无法通过http进入,提示输入密码,因此仅适用于joe。
答案 0 :(得分:0)
我终于做到了这一点:
location /webdav/joe/ {
client_body_temp_path /tmp;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
create_full_put_path on;
client_max_body_size 100M;
limit_except GET PROPFIND OPTIONS HEAD {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/auth/joe;
}
fancyindex on;
fancyindex_exact_size off;
}