ho costruita nginx su un sistema FreeBSD con i seguenti parametri di configurazione:nginx WebDAV potrebbe non raccolta aperta
./configure ... –with-http_dav_module
Ora, questo è il mio file di configurazione:
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/{
}
}
}
Ora, il prossimo le cose che faccio sono controllare la sintassi del file di confiurazione emettendo un nginx -t
e quindi eseguire una ricarica regolare come segue: nginx -s reload
.
Ora, quando indico il mio browser Web all'indirizzo nginx-ip: 8080 ottengo l'elenco dei miei file e cartelle e così via e così via (penso che sia dovuto alla funzione autoindex on).
Ma il problema è che quando cerco di testare il WebDAV utilizzando cadavere come segue:
cadaver http://nginx-ip-address:8080/
mi chiede di immettere le credenziali di autorizzazione e poi, dopo che entro che mi dà il seguente errore:
Could not open Collection: 405 Not Allowed
E ciò che segue è la linea nginx-error-log che si verifica nello stesso momento:
*125 no user/password was provided for basic authentication, client: 172.16.255.1, server: localhost, request: "OPTIONS/HTTP/1.1", host: "172.16.255.129:8080"
Il nome utente e passare funzionano bene wheni tenta di accedere dal browser web, allora che cosa sta succedendo qui?
Il pacchetto 'nginx-full' in Ubuntu 12.04 sembra utilizzare questo' nginx-dav-ext-module' (vedere: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667908) , quindi aggiungendo semplicemente "dav_ext_methods PROPFIND OPTIONS", per me andava bene. – ymonad
sì è vero, ma sto usando una versione modificata specifica di freebsd senza supporto per le porte! – surajravi
Sono su Archlinux e non sono un programmatore professionista (sono un medico nella vita reale). Potete fornire istruzioni per caricare il modulo WebDAV in Archlinux? Il metodo "./configure --with-http_dav_module --add-module =/path/to/the/above/module" funziona per Debian/Ubuntu. Ci scusiamo per questa domanda senza dubbio ingenua! – aag