Some time ago i had reason to make couple servers being accessible by WebDAV protocol.
But all our special storage servers were running nginx 0.6.x, that also supports this protocol.
By the way, it doesn`t support meta commands such as PROPFIND, OPTIONS, so if you try to connect to server with some command-line or GUI client it will close connection due to accepting “unknown” commands, but will work only with PUT, DELETE, COPY, MOVE, MKCOL requests.
It was a huge problem, because for a long time i couldn`t figure out what the reason of reject. Server allways respond with ‘405 Not allowed’. But when i tried put file – it worked.
Also, alternate fast server Lighttpd supports all meta commands.
Simple nginx configuration:
server {
listen 80;
server_name localhost;
access_log log/access.log;
error_log log/error.log;
charset utf-8;
client_body_temp_path client_body_temp;
autoindex on;
location / {
root /home/dav/public;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_access user:rw group:rw all:r;
create_full_put_path on;
# auth access
auth_basic "Restricted";
auth_basic_user_file ;
}
}After configuring server, you`ll need to create htpassword file, that will keep user credentials.
Simple example:
htpasswd -c /where/to/save/the/file username
More information about how to configure nginx can be found at http://wiki.codemongers.com/NginxModules

