2012-02-03 99 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

相關問題