所以基本上我的情况是,我在另一台机器上的 Linux 上有一个 Apache 2.2 网络服务器,并且我已将其配置为提供 webdav 服务。
现在,奇怪的是,我可以使用“连接到服务器”对话框在 Mac 上顺利访问服务器(甚至可以通过连接移动 5GB 的文件)。在我的 Ubuntu 桌面上,cadaver 也可以连接并允许我浏览。但是,当我尝试使用 Xmarks(BYOS 版本)或 GNOME“连接到服务器”对话框时,它给出了 403 Forbidden 错误。
如果这有什么不同的话,我的服务器会进行摘要身份验证。这是我的 apache2.conf 文件的一部分
<VirtualHost *:80>
DocumentRoot "/path"
<Directory "/path">
Dav on
AuthType Digest
AuthName iTools
AuthDigestDomain "/"
AuthUserFile /path/to/WebDavUsers
Options None
AllowOverride None
<LimitExcept GET HEAD OPTIONS>
require valid-user
</LimitExcept>
Order allow,deny
Allow from All
</Directory>
<Directory "/path/*/Public">
Options +Indexes
</Directory>
<Directory "/path/user">
<LimitExcept GET HEAD OPTIONS>
require user user
</LimitExcept>
</Directory>
</VirtualHost>
答案1
apache 的 error_log 说了什么?
答案2
简短的回答是 gnome 对 DAV 的支持确实不太好。
遇到同样的问题后,我在 Debian 升级后重新测试,它再次正常运行。
OS X 似乎是黄金标准。在现实世界中,没有其他系统能真正发挥作用。
答案3
Wireshark可能对跟踪每个位置的请求和响应很有用 - 它曾经帮助我解决过一些 webdav 问题(例如 Windows 只识别'%26'而 Apache 在 dav 位置输出'&'(或者可能相反)作为&符号)。
答案4
WebDAV 在重定向和某些客户端方面可能存在一些问题 - Java DAV 库也有类似的问题。确保您的 Apache 虚拟主机块中有这样的节(或父级中)
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 "Jakarta Commons" redirect-carefully
其定义如下:
谨慎重定向这会强制服务器在向客户端发送重定向时更加小心。这通常用于客户端在处理重定向时出现已知问题的情况。这最初是由于 Microsoft 的 WebFolders 软件存在问题而实现的,该软件在通过 DAV 方法处理目录资源的重定向时出现问题
如果它们与上述任何一项都不匹配,您可能需要添加从 XMarks 和 GNOME 看到的用户代理字符串,并将它们添加到列表中。除“Jakarta Commons”之外的所有内容都是 Red Hat Enterprise 中为 WebDAV 默认配置的。