我正在尝试在 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;
}
Run Code Online (Sandbox Code Playgroud)
上面正确地限制了对 joe 的访问(joe 是包含用户 joe 的 httppasswd 文件)。但无法通过 http 访问,会提示输入密码,因此仅适用于 joe。
我终于通过这样做做到了这一点:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4986 次 |
| 最近记录: |