我在freebsd系统上使用以下配置参数构建了Nginx:@H_502_2@
./configure … -with-http_dav_module@H_502_2@
@H_502_2@
user www www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
# reserve 1MB under the name 'proxied' to track uploads
upload_progress proxied 1m;
sendfile on;
#tcp_nopush on;
client_max_body_size 500m;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#upload_store /var/tmp/firmware;
client_body_temp_path /var/tmp/firmware;
server {
server_name localhost;
listen 8080;
auth_basic "Restricted";
auth_basic_user_file /root/.htpasswdfile;
create_full_put_path on;
client_max_body_size 50m;
dav_access user:rw group:r all:r;
dav_methods PUT DELETE MKCOL COPY MOVE;
autoindex on;
root /root;
location / {
}
}
}
现在,我接下来要做的是通过发出一个Nginx -t来检查confiuration文件的语法,然后按如下方式进行正常的重新加载:Nginx -s reload.@H_502_2@
现在,当我将我的网络浏览器指向Nginx-ip-address:8080时,我会得到我的文件和文件夹列表等等(我认为这是由于功能上的自动索引).@H_502_2@
但问题是当我尝试使用尸体测试webdav时如下:@H_502_2@
尸体http:// Nginx-ip-address:8080 /@H_502_2@
它要求我输入授权凭证,然后输入后它会给我以下错误:@H_502_2@
无法打开收藏:405不允许@H_502_2@
以下是同时出现的Nginx-error-log行:@H_502_2@
* 125没有为基本认证提供用户/密码,客户端:172.16.255.1,服务器:localhost,请求:“OPTIONS / HTTP / 1.1”,主机:“172.16.255.129:8080”@H_502_2@
链接到它的github:https://github.com/arut/nginx-dav-ext-module.git@H_502_2@
configure参数现在是:@H_502_2@
./configure –with-http_dav_module –add-module = / path / to / the / above / module@H_502_2@
内置的只提供PUT DELETE MKCOL COPY MOVE dav方法.@H_502_2@
Nginx-dav-ext-module添加了以下额外的dav方法:PROPFIND OPTIONS@H_502_2@
dav_ext_methods PROPFIND OPTIONS;@H_502_2@
执行此操作后,通过发出以下命令检查conf文件的语法是否完整:Nginx -t@H_502_2@
然后软重载(优雅地)Nginx:Nginx -s reload@H_502_2@
还有瞧!你现在应该可以使用尸体或任何其他dav客户端程序进入目录.@H_502_2@