我刚刚将我的测试机器从Apache 2.2.29升级到2.4.10,实际上我遇到了webdav模块的一些问题.
如果我尝试登录到webdav帐户,它可以工作,但如果我尝试列出我当前的目录,我得到405错误.
我知道一些配置作为这个新版本的变化,我做了一些改变,让我的虚拟主机与2.4兼容.
我有2个虚拟主机实际上所有这些都来自我的2.2设置,我更新了一点准备2.4.
其中一个与webdav工作正常,但第二个在列表目录上生成405.
这是我正在工作的虚拟主机:
Apache日志:
10.19.87.87 - maxence [02/Jan/2015:16:30:12 +0100] "PROPFIND / HTTP/1.1" 207 6331 "-" "Cyberduck/4.6.1 (16121) (Windows 7/6.1) (x86)"
<VirtualHost *:80> ServerAdmin info@test.com DocumentRoot /home/web/working/dev/ ServerName webdav.working.test.net ServerAlias webdav.working.test.net ErrorLog /var/log/apache2/net.test.working.webdav-error.log CustomLog /var/log/apache2/net.test.working.webdav-access.log combined <Files ".ht*"> allow from all </Files> <Directory /> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Location /> DAV on AuthName "test WebDAV Storage - working" AuthType Basic AuthUserFile /etc/apache2/htpasswd-webdav <Limit GET POST PUT DELETE PROPFIND PROPPATCH MKCOL COPY DUPLICATE MOVE LOCK UNLOCK OPTIONS HEAD> Require valid-user </Limit> AddType text/html .php .phtml </Location> </Virtualhost>
现在,那个不工作的人:
Apache日志:
10.19.87.87 - maxence [02/Jan/2015:16:10:54 +0100] "PROPFIND / HTTP/1.1" 405 475 "-" "Cyberduck/4.6.1 (16121) (Windows 7/6.1) (x86)"
<VirtualHost *:80> ServerAdmin info@test.com DocumentRoot /home/web/notworking/dev/ ServerName webdav.notworking.test.net ServerAlias webdav.notworking.test.net ErrorLog /var/log/apache2/net.test.notworking.webdav-error.log CustomLog /var/log/apache2/net.test.notworking.webdav-access.log combined <Files ".ht*"> allow from all </Files> <Directory /> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Location /> DAV on AuthName "test WebDAV Storage - notworking" AuthType Basic AuthUserFile /etc/apache2/htpasswd-webdav <Limit GET POST PUT DELETE PROPFIND PROPPATCH MKCOL COPY DUPLICATE MOVE LOCK UNLOCK OPTIONS HEAD> Require valid-user </Limit> AddType text/html .php .phtml </Location> </Virtualhost>
正如您所看到的,我的DAV配置完全相同.
文件夹具有相同的配置:
drwxr-xr-x 7 www-data www-data 26 déc. 24 12:07 dev
如果有人知道为什么我不能列出我的目录,它会帮助我很多:)
解决方法
在最后一次更新之后,似乎有很多人遇到过这个问题.
我找到了答案here:在Dav on目录上,使用以下指令禁用Directory索引功能:
DirectoryIndex disabled
值得注意的是:我管理的其中一个网站在1月7日通过“Hmei7”php攻击我已放置在一个可访问的地方而被遗忘的wordpress的旧版本被破坏.不要让旧的基于php的应用程序潜伏在可见的地方!