Apache-2.2

Apache WebDAV:如何為共享設置身份驗證;帶日曆支持(Outlook、Thunderbird、Webapp)

  • February 18, 2016

我正在尋找一種通過 Linux Debian 伺服器共享不同平台日曆的方法,該伺服器執行 Apache 2.2.16 並支持WebDAV(mod_dav,mod_dav_fs)。

到目前為止,我用於目錄的基本身份驗證過程。問題在於,唯一支持這種身份驗證方法的軟體是帶有Lightning外掛的Thunderbird 。Outlook 和其他網路日曆都無法訪問。

Apache 身份驗證設置如下所示:

<Directory "/var/www/calendar/">
 Dav on
 ForceType text/plain
 Require user test
 Options +Indexes
 AuthType Basic
 AuthName "WebDAV"
 AuthUserFile /etc/apache2/htpasswd/calendar.htpasswd
 require valid-user
</Directory>

如何通過適當的身份驗證保護 WebDAV 並確保不同的軟體支持?

我發現的唯一方法是不使用身份驗證,而是使用包含隨機雜湊的長 URL,例如:

https://example.org/somepath/calendarname-averylonghashtoavoidpiracy.ics

這類似於 Google 日曆或 Dropbox 在共享時使用的“私有 URL”。不完美,但仍然比易於猜測的 URL 更好。

您可以在伺服器上使用符號連結(或別名)來將此雜湊指向您的文件。這還允許您為不同的客戶端使用不同的雜湊值並提高安全性,因為如果一個雜湊值受到損害,您可以撤銷一個雜湊值,同時保留其他雜湊值。

如果您的日曆包含敏感材料,當然建議使用 HTTPS(通過例如 Let’s Encrypt 免費提供)。

引用自:https://serverfault.com/questions/700995