Articles of WebDAV

WebDAV通过Apache2权限/丢失文件

我在运行Debian 5.0(Lenny)的服务器上的Apache2上安装了WebDAV,我正通过Windows 7下的映射networking驱动器访问它。 设置似乎运行正常,第一次复制文件到共享时,我没有收到任何权限错误,但该文件永远不会显示在目录中(它是不可见的,在服务器上以root身份在目录上执行ls -lha也是显示没有文件。 当再次尝试复制文件时,我被告知该文件已经存在,但是当询问是否要覆盖该文件时,当select“是”时,我收到一个权限错误,说我无法写入文件夹。 我的日志不报告任何types的访问违规,可能是什么问题? (请参阅下面的日志摘录) [17 / Jan / 2011:10:26:34 +0100]“PUT /1.png HTTP / 1.1”401 525“ – ”“Microsoft-WebDAV-MiniRedir / 6.1.7600” [17 / Jan / 2011:10:26:34 +0100]“PUT /1.png HTTP / 1.1”201 304“ – ”“Microsoft-WebDAV-MiniRedir / 6.1.7600” [17 / Jan / 2011:10:26:34 +0100]“LOCK /1.png HTTP / 1.1”401 525“ – ”“Microsoft-WebDAV-MiniRedir / 6.1.7600” [17 / […]

Intranet上的Office文档都需要第二次login,不能通过validation? 禁用webdav?

我不确定发生了什么,但是最近我们Intranet上的所有Office文档都会被提示第二次login,并且根据错误日志,它看起来好像正在尝试使用webdav打开(可编辑的)文档版本直接保存在服务器上? 我们没有SharePoint服务器设置或任何东西,但这不应该发生。 我想要的只是文件被保存或从正常的临时副本打开本地副本。 这里是日志: Line 57499: 2011-04-12 15:57:10 (ip) OPTIONS (address) – 443 (username) (user ip) Microsoft-WebDAV-MiniRedir/6.1.7601 – 401 1 1326 1525 238 0 Line 57500: 2011-04-12 15:57:10 (ip) OPTIONS (address) – 443 (username) (user ip) Microsoft-WebDAV-MiniRedir/6.1.7601 – 401 1 1326 1525 238 0 Line 57501: 2011-04-12 15:57:10 (ip) OPTIONS (address) – 443 (username) (user […]

用apache做两个重写,并用webdav重写模块

我试图设置一个WebDAV服务器,它使用用户名redirect到一个私人的DAV目录。 在每个私人目录中还有一个名为SharedFolder的文件夹。 这个想法是,当用户login时,他将首先被redirect到他的私人目录。 使用重写模块,URL中将不会显示任何path,只会显示阻止用户进入另一个私人目录的主机名。 当用户打开名为SharedFolder的固定文件夹时,mod_rewrite将在匹配的RewriteCond文件夹名称上激发并redirect到RewriteMap中指定的相应共享文件夹。 我的虚拟主机configuration: LoadModule dbd_module modules/mod_dbd.so LoadModule authn_dbd_module modules/mod_authn_dbd.so DBDriver mysql DBDParams "host=db.example.com user=username pass=password dbname=webdav" <VirtualHost *:80> Servername webdav.example.com DocumentRoot /var/www Options +FollowSymlinks RewriteLog "/var/log/httpd/rewrite.log" RewriteLogLevel 5 RewriteEngine on RewriteRule ^(.*) /webdav/%{LA-U:REMOTE_USER}$1 RewriteMap usergroup txt:/etc/httpd/usersingroups RewriteCond %{REQUEST_URI} ^/SharedFolder/ [NC] RewriteRule ^(.*)$ /sharedfolders/${usergroup:%{LA-U:REMOTE_USER}} [L] <Directory "/var/www"> DAV on Options +Indexes AuthName "example.com" […]

使用IIS 7.5为特定的webdav子目录获取HTTP错误500

我有以下configuration。 在IIS中的一些网站中有一个虚拟目录。 这个虚拟目录被configuration为完全正常运行的webdav,没有任何问题。 该虚拟目录具有以下目录结构: \webdav -dir1 (ok) -dir2 (ok) -dir3 (ok) -dir4 (ok) -dir5 (virtual directory) -dir1 (ok) -dir1 (ok) -dir2 (ok) -dir3 (ok) -dir4 (ok) -dir5 (HTTP Error 500) -dir2 (ok) -dir3 (ok) 任何目录都可以访问,没有任何问题,除了dir5。 如果我尝试访问此目录,则会收到HTTP错误500.以下是IIS日志文件包含的内容: 2013-01-08 21:17:03 W3SVC2 WEB XXX.XX.XXX.XXX PROPFIND /WebDav/dir5/dir1/dir5 – 443 – XXX.XX.XXX.XXX HTTP/1.1 Microsoft-WebDAV-MiniRedir/6.1.7601 – – www.example.com 500 50 183 […]

Nginx,检查请求方法,而不使用IF?

我想优化我的Nginxconfiguration,但遇到了一个问题,我不知道如何解决。 我有一个文件夹/images在我的服务器上,我为网站提供各种静态文件。 虽然也使用相同的文件夹,以通过WebDAV上传文件。 因此,我必须检查每个请求是否存在静态文件,如果请求方法是GET ,则传递该文件。 否则,我假设请求与WebDAV(如PUT等)有关。 看到这个例子: if ($uri ~* ^/images) { set $getimages "${getimages}A"; } if ($request_method = GET) { set $getimages "${getimages}B"; } if ($getimages = "AB") { rewrite ^ $uri$args last; } 这上面的示例工作正常。 但我想知道是否有另一种方法来做到这一点,而不使用IF。 鉴于Nginx Wiki中的IfIsEvil参考 想法任何人?

IIS 8,webdav和windows文件共享

我们正在寻找使用webdav服务器来发布一些内部文件共享,并希望使用这些共享上build立的安全性进行发布。 环境是Win 2012 / iis8 我已阅读并尝试遵循IIS7和7.5的指示,但得到500错误和网页configuration错误。 我认为它与身份validation或创作规则有关,因为我可以为凭证或用户设置域pipe理员,如果我正在用用户文件夹进行testing,它将会通过 – 但这不是我们所期望的。 这似乎让它敞开。 我不是一个IIS的人,我在IIS8上的信息search没有给我我需要的结果。 任何方向可能会有所帮助,不胜感激。

如何在WebSphere Portal 8.0中启用WebDAV写入访问?

作为WebSphere Portal 8.0中的pipe理员,我可以使用连接到http://servername:10040/wps/mycontenthandler/dav/fs-type1的WebDAV客户端访问和修改与主题相关的文件。 我现在想给另一个用户写入相同的文件,但是这个用户不应该是一个Portalpipe理员。 IBM文档状态(在使用WebDAV文件存储的页面上): “为了让用户能够对这些文件夹中包含的资源进行写入访问,可以在门户访问控制中的虚拟资源主题pipe理上分配用户MANAGERangular色,pipe理员可以创build,修改或删除这些资源。 在过去,我使用Portal 7.0成功完成了这项工作,但在Portal 8.0中无法正常工作。 当用户尝试通过Portal 8.0 WebDAV修改文件时,操作失败,服务器的SystemOut.log文件包含以下消息: com.ibm.wps.logging.ExceptionLogger logThrowable(th) An exception occurred: [null]. Enable traces for [com.ibm.wps.logging.ExceptionLogger=all] to see the exception stack trace. 如果启用build议的跟踪,并且用户再次尝试,服务器的trace.log文件包含类似于以下的堆栈跟踪(虽然我删除了很多行以使其更短): com.ibm.wps.logging.ExceptionLogger logThrowable(th) Exception com.ibm.wps.resolver.servlet.exceptions.ModelIOException at com.ibm.wps.resolver.webdav.tree.WebdavTreeModelUpdateDataSink.read(WebdavTreeModelUpdateDataSink.java:182) at com.ibm.wps.resolver.servlet.ContentHandlerUpload.handleDownloadAndDispose(ContentHandlerUpload.java:817) at com.ibm.wps.resolver.servlet.ContentHandlerUpload.handleUpload(ContentHandlerUpload.java:1020) at com.ibm.wps.resolver.servlet.ContentHandlerUpload.doFilter(ContentHandlerUpload.java:378) … at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1700) Caused by: com.ibm.wps.resolver.webdav.admin.exception.WebdavCannotCommitException at com.ibm.wps.filestore.JCRWebdavTreeModelController.commit(JCRWebdavTreeModelController.java:354) at com.ibm.wps.resolver.webdav.tree.AbstractWebdavTreeModelCreateUpdateDataSink.updateItem(AbstractWebdavTreeModelCreateUpdateDataSink.java:1028) at com.ibm.wps.resolver.webdav.tree.AbstractWebdavTreeModelCreateUpdateDataSink.updateItem(AbstractWebdavTreeModelCreateUpdateDataSink.java:955) at com.ibm.wps.resolver.webdav.tree.WebdavTreeModelUpdateDataSink.read(WebdavTreeModelUpdateDataSink.java:157) […]

如何获得自定义的WebDAV服务器与微型redirect器的工作

我编写了一个自定义的WebDAV服务器,用于从数据库validation用户,并根据数据库中的logging提供虚拟文件系统。 它与第三方的WebDAV客户端运行良好,但在将驱动器映射到http位置时,不能与Windows内置的迷你redirect器一起使用。 最奇怪的是,在我编写服务器的开发PC上,我可以很好地连接,但是任何试图访问服务器的其他计算机都无法与小redirect器连接。 我用小提琴来分析networkingstream量,一切都很好。 当我尝试映射驱动器时,发送一个OPTIONS标题,我的服务器以200 OK响应。 然后迷你redirect器发送深度为0的PROPFIND方法。我的服务器回应401未经授权。 这会popup用户名和密码的login对话框。 input密码后,会发送新的PROPFIND请求,但是这次是使用授权标头。 一切似乎工作正常,我的服务器接受login凭据,并回应与一个“HREF”到根目录的207 multistatus响应。 此时,迷你redirect器会再次提示login提示,总共执行3次,如果连接失败,说明无法find服务器。 奇怪的是,服务器被发现,我可以在Fiddler中看到它,服务器正在按照预期进行响应。 每个其他的第三方WebDAV客户端与我的服务器有类似的交stream,并连接,并提出一个目录列表就好了。 只有迷你redirect器失败。 正如我上面提到的,它在我的开发机器上使用迷你redirect器(尽pipe我连接的IIS 7.5服务器不在我的开发机器上)完美工作。 其他每台计算机都无法连接。 我已经确保使用registry黑客来允许基于非安全HTTP站点的基本身份validation。 我甚至把我的服务器移到了一个安全的HTTPS站点上,并提供了一个SSL证书,以防万一是这个问题,它仍然不起作用。 有没有人有任何想法。 我认为这是必须与我的服务器上的IIS 7.5安装程序,或除了我的开发机器之外的所有其他客户机上的设置,因为我的代码看起来没问题,服务器似乎对微型redirect器的请求,它只是没有映射驱动器之后的207 multistatus响应像所有其他客户端一样。 任何帮助将不胜感激。 令人沮丧的是,我期望mini-redirector是最难做到的工作,所以我在开发机器上首先开始工作,然后再与所有其他客户端进行testing,所以我认为我一直处于良好状态,直到我尝试连接其他电脑,看到它失败,但只有迷你redirect。 可悲的迷你redirect器是我的潜在客户最容易使用的,所以它必须与迷你redirect器一起工作。 如果这可以帮助任何人对我进行debugging,我可以提供来自Fiddler的响应/请求。

与Apache DAV的SVN自动专业人员

如何使用存储库口述configuration来设置SVN版本1.8的自动道具? http://subversion.apache.org/docs/release-notes/1.8.html#repos-dictated-config 。 我正在运行svn服务器svn, version 1.8.10 (r1615264)和客户端TortoiseSVN 1.8.7通过HTTPS。 我尝试设置我的configuration文件为: [miscellany] enable-auto-props = yes [auto-props] * = svn:needs-lock=* 我正在更改的configuration文件是/etc/subversion/config和/home/svn/repo/conf/svnserve.conf但我不确定这些是通过HTTP / HTTPS访问Apache DAV的正确文件。 当我签出回购协议并添加文件时,svn:needs-lock没有在新提交的文件上设置。 Apache从哪里获得SVNconfiguration文件?

任何autofs专家? 如何让autofs和webdav一起工作?

首先让我说,这是我在AskUbuntu发布的一个问题的转贴。 如果这是违反规则,那么请删除这个。 说实话,在进一步思考这个话题之后,我意识到,由于autofs在各种发行版本上基本上是一样的,所以这更像是一个autofs / linux问题,而不是Ubuntu特有的问题。 当然,这是我的理由,因为我也希望得到更多的曝光这个问题:它似乎像autofs和WebDAV是一个相当不常见的组合,所以我有更多的机会find别人谁已经成功地做到了我在这个更一般的论坛尝试。 我使用占位符来表示真正的服务器名称和文件夹,但是,我尽量使它们成为真实姓名的代表,因此请注意我的大小写和标点符号,以防与我的问题有任何关系。 我正在运行Ubuntu 16.04 。 我已经安装了autofs和davfs2 。 以下命令成功挂载: mount -t davfs https://servername.mydomain.com:3333/Shared.Folder /testmount 它问我一个用户名和密码,这是[email protected]和myypassword ,然后导致成功的挂载。 这告诉我几件事情: 我的WebDAV服务器正在正常工作和configuration。 HTTPS工作正常。 我的凭据成功validation。 所以现在我试图让这个工作与autofs 。 这是我的文件: /etc/auto.master文件 /Server.mount /etc/auto.Servername.mount /etc/auto.Servername.mount storage-folder -fstype=davfs,ro :https://servername.mydomain.com:3333/Shared.Folder 在/ etc / davfs2 /秘密 https://servername.mydomain.com:3333/Shared.Folder [email protected] mypassword 有了这个设置,如果我尝试浏览到/Servername.mount/storage-folder ,我得到一个No such file or directory error 。 现在我想95%的确定,我的问题是语法错误或validation错误。 Web上没有很多的基于WebDAV的autofs实现的例子,其中一些显示了矛盾的语法。 尽pipe如此,我尝试了所有我能想到的。 我认为这可能是冒号在auto.Servername.mount文件是auto.Servername.mountparsing,所以我已经尝试了所有以下组合: storage-folder […]