- Obwohl sich eine S3-zentrierte Infrastruktur für die Dateispeicherung faktisch als Standard etabliert hat, wird WebDAV für persönliche Projekte oder Self-Hosting-Umgebungen weiterhin als nützliche Alternative vorgestellt
- Der Autor erklärt, dass er von der Komplexität und Abhängigkeit von S3 ermüdet sei und WebDAV wieder als einfachen, authentifizierungsbasierten Dateispeicher nutze
- WebDAV wird von verschiedenen Werkzeugen wie MacOS Finder, Windows Explorer, rclone, curl standardmäßig unterstützt und ist daher sehr zugänglich
- Auf wichtigen Webservern wie Apache, Nginx und Caddy lassen sich mit einfacher Konfiguration private Verzeichnisse pro Benutzer einrichten; auch die Anbindung an LDAP-Authentifizierung ist möglich
- Für Entwickler, die sich von Cloud-Abhängigkeiten lösen und eine eigene Dateiverwaltungsinfrastruktur einfach halten wollen, bleibt WebDAV eine praktikable Wahl
Probleme mit S3-zentrierter Dateispeicherung
- FTP ist verschwunden, und SFTP ist unpraktisch, weil es zu stark von SSH und Unix-Authentifizierung abhängt
- Da AWS S3 faktisch zum Industriestandard geworden ist, werden die meisten Web-Apps unter der Annahme einer S3-Anbindung entwickelt
- Das ist für Amazon vorteilhaft, für andere Nutzer aber unbequem
- Für persönliche Projekte oder Self-Hosting-Umgebungen sind die komplexen Funktionen von S3 unnötig; oft reicht ein einfacher authentifizierter Dateispeicher
- Der Autor hat die Nutzung von S3 beendet und ist auf WebDAV umgestiegen; er empfiehlt auch anderen Entwicklern, diese Wahl in Betracht zu ziehen
Für wen WebDAV geeignet ist und welche Anforderungen es erfüllt
- WebDAV eignet sich für Privatnutzer oder kleine Projekte, die HTTP-Zugriff auf Dateisystemebene benötigen
- Benötigte Funktionen: Authentifizierung, Schreiben von Dateien, effiziente Synchronisierung, standardmäßig privat, einfache Freigabe nach außen
- Nicht benötigte Funktionen: erweiterte ACLs, signierte URLs, Versionsverwaltung, hierarchischer Storage, Lifecycle-Regeln, Quotas usw.
- Diese Anforderungen sind für die meisten einzelnen Entwickler nachvollziehbar, und es besteht kein Bedarf, komplexe Systeme wie OpenStack Swift, CEPH, Minio zu betreiben
- Besonders nachdem Minio kürzlich die Verwaltungsoberfläche stark reduziert und auf manuell geschriebene JSON-Policy-Dateien umgestellt hat, ist es für den bloßen Zweck der Dateispeicherung ineffizient
Zugänglichkeit von WebDAV und Unterstützung durch Tools
- WebDAV wird standardmäßig von vielen Betriebssystemen und Tools unterstützt
- MacOS Finder: im Menü „Mit Server verbinden“
https://... eingeben
- Windows Explorer: Funktion „Netzlaufwerk verbinden“ oder „Mit Website verbinden“
- CLI und Apps: rclone, curl, CyberDuck, WinSCP, Filezilla usw.
- Viele halten WebDAV für veraltet, tatsächlich wird es aber von den meisten Webservern standardmäßig unterstützt
- Lässt sich in Apache, Nginx, Caddy, Lighttpd, IIS usw. leicht aktivieren
- Auch OwnCloud und NextCloud nutzen WebDAV-basierten Zugriff
Praktische Beispiele für den Einsatz von WebDAV
- WebDAV wird bereits in Form von CardDAV, CalDAV für die Synchronisierung von Kontakten und Kalendern verwendet
- Das heißt, Nutzer verwenden im Alltag oft WebDAV-basierte Dienste, ohne es zu bemerken
- Der Autor hat WebDAV auf Basis von Apache eingerichtet und mit LDAP-Authentifizierung den Zugriff auf private Verzeichnisse pro Benutzer umgesetzt
- Mit Caddy lässt sich die Trennung pro Benutzer einfacher konfigurieren, aber auch Apache ist völlig ausreichend
- Die Apache-Konfiguration ist etwas komplexer, kann jedoch in Multi-User-Umgebungen die Privatsphäre gewährleisten
Beispiel für eine WebDAV-Konfiguration auf Apache-Basis
- Benötigte Module in Apache:
mod_dav, mod_dav_fs, mod_dav_lock
- Einschließlich
BrowserMatch-Einstellungen für die Kompatibilität mit älteren Clients
- Wichtige Konfigurationselemente
- Steuerung des WebDAV-Verhaltens über
DavLockDB, DavMinTimeout, DavDepthInfinity usw.
- LDAP-Authentifizierung über
AuthType Basic, AuthBasicProvider ldap usw.
- Mit
RewriteEngine wird sichergestellt, dass angemeldete Benutzer nur auf ihr eigenes Verzeichnis zugreifen können
- Wenn unter
/usr/local/www/webdav Verzeichnisse mit den jeweiligen Benutzernamen angelegt werden, können diese Benutzer nach der Authentifizierung ihren eigenen Speicherbereich verwenden
Anwendungsfälle von WebDAV und Erweiterungsmöglichkeiten
- Der Autor nutzt WebDAV zusammen mit den folgenden Apps
- Joplin: App zur Synchronisierung von Notizen mit einem eigenen Server
- Keepassium: Keepass-Client für iOS/MacOS
- VLC, Infuse: Streaming und Wiedergabe von Medien
- rclone: Dateisynchronisierung zum Veröffentlichen eines statischen Blogs (schneller als NFS/SMB und ohne VPN)
- Außerdem hat er ein neues Projekt namens Altmount entdeckt
- Inhalte, die in Usenet veröffentlicht wurden, lassen sich ohne Download direkt „mounten“ und aufrufen
- Besonders interessant findet er, dass sich damit sehr einfach mit mehreren Gigabit auf Usenet zugreifen lässt
2 Kommentare
Innerhalb der heimischen Infrastruktur nutze ich NFS oder SMB, und nach außen funktioniert WebDAV bei mir immer noch bestens, haha.
Hacker-News-Kommentare
Damit sind Synchronisationen oder Mounts zwischen WebDAV-Servern möglich, und auch lokale Dateisysteme oder S3, Google Drive usw. lassen sich als WebDAV-Server bereitstellen
Das RFC ist besser als FTP, aber es gibt wegen Unterschieden zwischen Implementierungen weiterhin viele nicht standardisierte Verhaltensweisen, sodass diverse Workarounds nötig sind
Änderungszeiten oder Hashes lassen sich standardmäßig nicht setzen, aber Implementierungen wie ownCloud oder Nextcloud unterstützen das
Da es auf HTTP und TLS basiert, ist es deutlich schneller als SFTP
NFS basiert ebenfalls auf TCP und kann verschlüsselt werden, aber die Unterstützung unter Windows ist schwach, und nur macOS bringt sie standardmäßig mit
WebDAV dagegen funktioniert auf beiden Plattformen gut
Derzeit nutze ich davx5, aber der Dateizugriff ist umständlich
Es passt gut zu der bereits aufgebauten mTLS-Infrastruktur, deshalb bevorzuge ich WebDAV
Serverseitig verwende ich sftpgo
Es ist nicht nur eine Amazon-Technologie, es gibt auch Open-Source-Projekte mit EU-Horizon-Förderung wie Garage S3
https://garagehq.deuxfleurs.fr/
Zum Beispiel basiert Tailscale Drive Share auf WebDAV, und auch der Dateispeicher von Fastmail ist per WebDAV erreichbar
WebDAV ist eine ziemlich coole Technologie
Das funktioniert sehr gut
Sowohl Windows als auch macOS haben eingebaute Unterstützung, aber normale Nutzer kommen nicht heran
Unter Windows ist es auf WSL beschränkt, unter macOS auf Virtualisierung, was schade ist
Es wäre großartig, wenn man 9p direkt über die UI mounten könnte
Es ist mit den NextCloud-Clients (Desktop/Android) kompatibel und lässt sich auch mit Gnome Online Accounts oder Nautilus verwenden
https://codeberg.org/lunae/dav-next
Es gibt noch kein Packaging und keine Binär-Releases, aber Feedback ist willkommen
Auch auf der Cloud-Plattform unseres Unternehmens entwickeln wir gerade eine Funktion, mit der sich Speicher per WebDAV wie ein Laufwerk ansprechen lässt
Da bestehende HTTP-basierte Infrastruktur weiterverwendet werden kann, entsteht fast keine zusätzliche Komplexität
Langweilige, aber stabile Technologie hält sich am Ende am längsten
Außerdem ist es ein offener Standard
Viele Shared-Hosting-Anbieter erklären weiterhin Uploads per FTP
SSH-Schlüssel oder SFTP sind zwar auch möglich, aber in der Dokumentation werden immer noch FTP-Tools wie FileZilla erwähnt
OVHclouds FTP-Leitfaden
Es ist kaum zu glauben, dass immer noch unverschlüsselte Protokolle verwendet werden
Solche Hosting-Anbieter würde ich sofort ausschließen
Ich vermisse zwar die Zeit, als es für Softwareverteilung oder in der Wissenschaft genutzt wurde, aber inzwischen sind fast nur noch die letzten Nischen übrig
So ist Synchronisation zwischen Nutzern mit verschiedenen iCloud-Accounts möglich, und ein Dropbox-Abo ist auch nicht nötig
Es ist schneller als CloudKit und verursacht weniger Wartungsaufwand
Ich werde es wahrscheinlich noch lange nutzen
Ein Web-Scraper ist auch enthalten, was sie gut zum Speichern von Markdown aus LLM-Chatbots macht
Heutzutage bieten die meisten Anbieter Kompatibilität mit der S3-API
Am Ende scheint es also eher um das Protokoll selbst zu gehen