<-
Apache HTTP 服务器 2.4 > Apache模块mod_dav

Apache模块mod_dav

描述:分布式创作和版本控制(WebDAV)功能
状态:延期
模块标识符:dav_module
源文件:mod_dav.c

摘要

该模块为Apache 提供了1类和2类WebDAV(“基于Web的分布式创作和版本控制”)功能。HTTP协议的此扩展允许在远程Web服务器上创建,移动,复制和删除资源和集合。

支持Apache!

主题

指令

错误修正清单

也可以看看

最佳

启用WebDAV

要启用mod_dav,请将以下内容添加到httpd.conf文件中的容器中:

Dav On

这将启用由mod_dav_fs模块实现的DAV文件系统提供程序。因此,必须使用LoadModule指令将该模块编译到服务器中或在运行时加载 。

此外,必须httpd.conf 使用以下DavLockDB 指令在文件的全局部分中指定DAV锁数据库的位置:

DavLockDB /usr/local/apache2/var/DavLock

包含锁定数据库文件的目录必须由可写入UserGroup在其下的Apache正在运行。

您可能希望<Limit><Location>指令内添加一个子句,以限制对启用DAV的位置的访问。如果要设置DAV客户端可应一个请求发送的最大字节数,则必须使用LimitXMLRequestBody 指令。“正常” LimitRequestBody指令对DAV请求无效。

完整的例子

DavLockDB "/usr/local/apache2/var/DavLock"

<Directory "/usr/local/apache2/htdocs/foo">
    Require all granted
    Dav On

    AuthType Basic
    AuthName DAV
    AuthUserFile "user.passwd"

    <LimitExcept GET POST OPTIONS>
        Require user admin
    </LimitExcept>
</Directory>
最佳

安全问题

由于DAV访问方法允许远程客户端操作服务器上的文件,因此在启用之前,您必须格外小心以确保服务器安全mod_dav

服务器上启用DAV的任何位置都应通过身份验证进行保护。不建议使用HTTP基本身份验证。您至少应使用该mod_auth_digest模块提供的HTTP摘要验证 。几乎所有的WebDAV客户端都支持此身份验证方法。一种替代方法是通过启用SSL的连接进行基本身份验证。

为了mod_dav管理文件,它必须能够写入使用的目录和文件在其控制下的UserGroup其下的Apache正在运行。和创建的新文件也将归此 User和所有Group。因此,控制对该帐户的访问非常重要。DAV存储库被视为Apache专用;不允许修改Apache外部的文件(例如,使用FTP或文件系统级工具)。

mod_dav可能会遭受各种拒绝服务攻击。该LimitXMLRequestBody指令可用于限制在解析大型DAV请求时消耗的内存量。该DavDepthInfinity指令可用于防止PROPFIND非常大的存储库上的请求占用大量内存。另一种可能的拒绝服务攻击涉及客户端简单地用许多大文件填充所有可用磁盘空间。在Apache中,没有直接的方法可以阻止这种情况,因此您应避免将DAV访问权限授予不受信任的用户。

最佳

复杂的配置

一种常见的要求是使用它mod_dav来处理动态文件(PHP脚本,CGI脚本等)。这很困难,因为GET请求将始终运行脚本,而不是下载其内容。避免这种情况的一种方法是将两个不同的URL映射到内容,其中一个将运行脚本,而另一个将允许其下载并使用DAV进行操作。

Alias "/phparea" "/home/gstein/php_files"
Alias "/php-source" "/home/gstein/php_files"
<Location "/php-source">
    Dav On
    ForceType text/plain
</Location>

通过此设置,http://example.com/phparea可以用于访问PHP脚本的输出,并且 http://example.com/php-source可以与DAV客户端一起使用以对其进行操作。

最佳

Dav 指令

描述:启用WebDAV HTTP方法
句法:Dav On|Off|provider-name
默认:Dav Off
内容:目录
状态:延期
模块:mod_dav

使用Dav指令为给定的容器启用WebDAV HTTP方法:

<Location "/foo">
    Dav On
</Location>

该值On实际上filesystemmod_dav_fs模块提供的默认提供程序的别名。请注意,一旦为某个位置启用了DAV,就无法为子位置禁用DAV。有关完整的配置示例,请参见上面部分

在保护服务器安全之前,请勿启用WebDAV。否则,每个人都可以在您的系统上分发文件。
最佳

DavDepthInfinity 指令

描述:允许PROPFIND,深度:无限请求
句法:DavDepthInfinity on|off
默认:DavDepthInfinity off
内容:服务器配置,虚拟主机,目录
状态:延期
模块:mod_dav

使用DavDepthInfinity伪指令可处理PROPFIND包含标头“ Depth:Infinity” 的请求。由于这种类型的请求可能构成拒绝服务攻击,因此默认情况下是不允许的。

最佳

DavMinTimeout 指令

描述:服务器在DAV资源上保持锁定的最短时间
句法:DavMinTimeout seconds
默认:DavMinTimeout 0
内容:服务器配置,虚拟主机,目录
状态:延期
模块:mod_dav

当客户端请求DAV资源锁定时,它也可以指定服务器自动删除该锁定的时间。该值只是一个请求,服务器可以忽略它或将任意值通知客户端。

使用DavMinTimeout指令以秒为单位指定返回客户端的最小锁定超时。默认情况下,Microsoft Web Folders的超时时间为120秒。在 DavMinTimeout可以覆盖此为更高的值(例如600秒),以减少客户端失去锁定由于网络延迟的机会。

<Location "/MSWord">
    DavMinTimeout 600
</Location>

可用语言: zh  |  fr  |  ja  |  KO 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。