2012-02-03 105 views
1

我想知道如何禁用webdav访问我的plone4 server。服务器被配置为阻止对正常zope客户端端口(8080和8081)的所有直接http访问,并且不可能通过http://ploneservername:8080地址从外部访问plone。这是因为我们希望所有客户端连接都被加密。我已经对其进行了配置,以便所有访问都必须通过在端口443上侦听/终止SSL的相同服务器上运行的apache2服务进行代理。标准zope侦听端口(8080,8081,8100)仅配置为侦听127.0 .0.1地址,它们不可用于外部。 apache服务代理所有SSL/443流量到127.0.0.1:8080,这是zope客户端正在监听的。如何阻止人们通过webdav访问plone服务器?

外部客户端可以连接到的盒子上的唯一端口是443,它由apache提供服务,以及代理到http/8080地址的代理(通过使用virtualhostmonster的proxypass指令)。这一切都完美。

问题是webdav客户端仍然能够通过SSL/port443连接到该框并成功进行身份验证并上传/下载文件。即使webdav端口尚未在plone配置文件中的任何位置打开/配置,并且服务器在通过netstat -ap查看时未侦听到webdav连接,情况也是如此。我可以使用https://ploneserveraddress URL使用2个不同的webdav客户端(bitkinex和win7内置)进行连接。我的印象是,只有通过配置文件的zope实例部分显式启用webdav时,webdav才可用。

有没有办法彻底关闭webdav访问?简单地从配置文件中忽略它并没有阻止我们在通过apache/443/SSL进入时使用此方法进行连接。任何帮助,将不胜感激。谢谢。

回答

1

WebDAV在同一个端口上运行(从4.0开始?)。除了任何其他Plone内部解决方案之外,您可以将Apache配置为仅允许一些HTTP动词:http://httpd.apache.org/docs/2.1/mod/core.html#limit。这有助于浏览器通常只生成GET和POST。 (尽管你可能想仔细检查AJAX-y编辑器的功能。)

+0

啊,不知道这是怎么回事,因为我在网上找到的所有指南似乎表明webdav必须启用在一个单独的港口(例如1980年)。伟大的信息,谢谢澄清,感谢它。 :) – sev70x 2012-02-03 11:08:18

+0

IIRC,webdav没有改变。例如,备用端口可以启用为webdav定制的内容 - 编辑 - 但http端口始终允许webdav操作。 在任何情况下,Ulrich建议在您的反向代理上进行过滤都会起到诀窍的作用。 – SteveM 2012-02-03 15:58:26

+2

自从该功能添加到Zope后,WebDAV始终*始终在同一端口上运行。 – 2012-02-03 16:50:01

相关问题