WebDAV和Windows 7客户端

我已经在我的网站上启用了Apache dav模块,并为其configuration了摘要式身份validation。 现在我试图将Windows驱动器连接到它。 命令如下:

net use z: http://dav.mysite.com/Files /user:username * 

那么它要求input密码。 之后,该驱动器似乎连接除了一个细节。 在服务器日志中,我可以看到奇怪的401错误:

 xx.xx.xx.xx - - [22/Mar/2011:23:05:04 +0000] "PROPFIND /Files HTTP/1.0" 401 751 xx.xx.xx.xx - username [22/Mar/2011:23:05:04 +0000] "PROPFIND /Files HTTP/1.0" 301 495 xx.xx.xx.xx - - [22/Mar/2011:23:05:04 +0000] "PROPFIND /Files/ HTTP/1.0" 401 751 xx.xx.xx.xx - username [22/Mar/2011:23:05:04 +0000] "PROPFIND /Files/ HTTP/1.0" 207 1175 xx.xx.xx.xx - - [22/Mar/2011:23:05:07 +0000] "PROPFIND /Files HTTP/1.0" 401 751 xx.xx.xx.xx - username [22/Mar/2011:23:05:07 +0000] "PROPFIND /Files HTTP/1.0" 301 495 xx.xx.xx.xx - - [22/Mar/2011:23:05:07 +0000] "PROPFIND /Files/ HTTP/1.0" 401 751 xx.xx.xx.xx - username [22/Mar/2011:23:05:07 +0000] "PROPFIND /Files/ HTTP/1.0" 207 1175 

正如你所看到的任何正确的摘要authentication请求,它发送一个错误的请求

我的Apacheconfiguration:

 <VirtualHost xx.xx.xx.xx:80> ServerAdmin [email protected] ServerName dav.dav.mysite.com DocumentRoot /var/www/dav.mysite.com/ UseCanonicalName Off Alias /Files "/var/www/dav.mysite.com/" BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs/1.0" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On <Directory "/var/www/dav.mysite.com"> Dav On Order allow,deny Allow from all AuthType Digest AuthName "DAV-upload" AuthDigestDomain /Files/ AuthDigestProvider file AuthUserFile /var/www/webdav.passwd Require valid-user </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel error ErrorLog /var/log/apache2/dav.dav.mysite.com-error.log CustomLog /var/log/apache2/dav.dav.mysite.com.log common ServerSignature Off </VirtualHost> 

它的运行非常缓慢。 你为什么认为它发送请求没有authentiocation? BTW其他webdav客户端正常工作

PS nginx坐在apache前面,把所有的stream量都传给它

欢迎来到一个巨大的痛苦。 我有同样的问题,并在Windows中find它。 首先是去Internet Explorer然后工具互联网选项。 转到连接标签,看看我相信局域网设置。 这里看看是否选中“自动检测局域网设置”。 如果这样取消选中它。 这将解决速度问题。 如果你仍然看到问题回来,生病给你一些更多的想法。

我能够find答案,这显然是由devise:身份validation的挑战是在每一个请求。 我所实现的一项工作是允许匿名目录/文件列表(PROPFIND请求)和使用下面显示的Apacheconfiguration的其他一切authentication。 速度的提高是非常重要的,对于一个有21876个文件的python项目来说,刷新只需要一半的时间,11分钟与22分钟的authentication。

 ## Development HTTP Site <VirtualHost *:80> ServerAdmin [email protected] ServerName development.FOO.com ServerAlias www.development.FOO.com # Log file location and settings; logs within project is ok as long as 'links' are made to system 'var/log/apache' ErrorLog /var/log/apache2/development.FOO.com-error.log CustomLog /var/log/apache2/development.FOO.com-vhost_combined-access.log vhost_combined # Canonical to always strip www - see: https://stackoverflow.com/questions/88011/make-apache-automatically-strip-off-the-www RewriteCond %{HTTP_HOST} ^www\.(.+)$ RewriteRule ^(.*)$ ${SERVER_PROTOCOL}://%1/$1 [R=301,L,NC] # Authenticated access for the development site version - because without this Google will find you! # Just in case we also prevent serving of the password logins file if it is stored in a serving folder. Redirect /apache-logins.htdigest http://development.FOO.com <Location /> DAV On DirectoryIndex disabled Options +Indexes AuthType Digest AuthName "development.FOO.com" # AuthDigestDomain which urls (and any under it) this applies - should match location AuthDigestDomain / AuthDigestProvider file AuthUserFile /srv/www/django/development.FOO.com/apache-logins.htdigest # uncomment the LimitExcept to receive a small boost for non caching Windows WebDav client by allowing # anonymous directory listing; see http://serverfault.com/questions/250578/webdav-and-windows-7-client <LimitExcept PROPFIND> Require valid-user </LimitExcept> </Location> WSGIProcessGroup development.FOO.com # You can further limit processes, threads and set a inactivity-timer so deamon get unloaded WSGIDaemonProcess development.FOO.com display-name=%{GROUP} WSGIScriptAlias / /srv/www/django/development.FOO.com/apache-django-development.wsgi # Serve static / media files through apache instance and alias/map them to specific urls. to maximize security # `Options -Indexes` is enabled to prevent directory listing Options -Indexes Alias /robots.txt /srv/www/django/development.FOO.com/src/django-project/static/robots.txt #Alias /sitemap.xml /srv/www/django/development.FOO.com/src/django-project/static/sitemap.xml Alias /favicon.ico /srv/www/django/development.FOO.com/src/django-project/static/favicon.ico Alias /media /srv/www/django/development.FOO.com/src/django-project/static/ Alias /static /srv/www/django/development.FOO.com/src/django-project/static/ </VirtualHost> 

这里是一些更多的信息: https : //stackoverflow.com/questions/666553/how-to-avoid-windows-vista-to-do-double-webdav-requests