- Aunque la infraestructura centrada en S3 se volvió el estándar de facto para almacenar archivos, en proyectos personales o entornos self-hosted WebDAV sigue siendo una alternativa útil
- El autor explica que se cansó de la complejidad y dependencia de S3, y volvió a usar WebDAV como un almacenamiento de archivos simple basado en autenticación
- WebDAV cuenta con soporte nativo en herramientas como MacOS Finder, Windows Explorer, rclone y curl, lo que facilita mucho el acceso
- En servidores web principales como Apache, Nginx y Caddy, se pueden configurar directorios privados por usuario con una configuración sencilla, e incluso integrarlos con autenticación LDAP
- Para desarrolladores que quieren alejarse de la dependencia de la nube y mantener simple su propia infraestructura de gestión de archivos, WebDAV sigue siendo una opción práctica
Problemas del almacenamiento de archivos centrado en S3
- FTP desapareció, y SFTP resulta incómodo por su estructura demasiado dependiente de SSH y de la autenticación de Unix
- Como AWS S3 se volvió el estándar de facto de la industria, la mayoría de las webapps se diseñan dando por hecho la conexión con S3
- Eso beneficia a Amazon, pero resulta incómodo para los demás usuarios
- En proyectos personales o entornos self-hosted, las funciones complejas de S3 no son necesarias; basta con tener un almacenamiento de archivos autenticado y simple
- El autor dejó de usar S3 y migró a WebDAV, y recomienda a otros desarrolladores considerar la misma decisión
Para quién es adecuado WebDAV y qué necesidades cubre
- WebDAV es adecuado para usuarios individuales o proyectos pequeños que necesiten acceso HTTP a nivel de sistema de archivos
- Funciones necesarias: autenticación, escritura de archivos, sincronización eficiente, privacidad por defecto y cambio sencillo a modo público
- Funciones innecesarias: ACL avanzadas, URLs firmadas, control de versiones, almacenamiento por niveles, reglas de ciclo de vida, cuotas, etc.
- Estas necesidades son algo con lo que la mayoría de los desarrolladores individuales se identifican, y no hace falta operar sistemas complejos como OpenStack Swift, CEPH o Minio
- En especial, como Minio recientemente eliminó gran parte de su UI de administración y pasó a exigir la edición manual de archivos de políticas JSON, se vuelve ineficiente para el simple objetivo de guardar archivos
Accesibilidad de WebDAV y soporte de herramientas
- WebDAV tiene soporte nativo en distintos sistemas operativos y herramientas
- MacOS Finder: ingresar
https://... en el menú “Conectarse al servidor”
- Windows Explorer: funciones “Conectar a unidad de red” o “Agregar un sitio web”
- CLI y apps: rclone, curl, CyberDuck, WinSCP, Filezilla y más
- Mucha gente considera WebDAV algo anticuado, pero en la práctica la mayoría de los servidores web lo soportan de forma nativa
- Puede activarse fácilmente en Apache, Nginx, Caddy, Lighttpd e IIS
- OwnCloud y NextCloud también usan acceso basado en WebDAV
Ejemplos reales de uso de WebDAV
- WebDAV ya se usa para sincronizar contactos y calendarios en forma de CardDAV y CalDAV
- Es decir, muchos usuarios ya utilizan servicios basados en WebDAV en su vida diaria sin darse cuenta
- El autor montó WebDAV sobre Apache y lo integró con autenticación LDAP para implementar acceso a directorios personales por usuario
- En Caddy, separar directorios por usuario puede configurarse de forma más simple, pero con Apache también es totalmente posible
- La configuración de Apache es algo compleja, pero puede garantizar privacidad en entornos multiusuario
Ejemplo de configuración de WebDAV sobre Apache
- Módulos necesarios en Apache:
mod_dav, mod_dav_fs, mod_dav_lock
- También se incluye la configuración
BrowserMatch para compatibilidad con clientes antiguos
- Elementos principales de configuración
- Control del funcionamiento de WebDAV con
DavLockDB, DavMinTimeout, DavDepthInfinity, etc.
- Integración con autenticación LDAP mediante
AuthType Basic, AuthBasicProvider ldap, etc.
- Restricción para que cada usuario autenticado solo pueda acceder a su propio directorio usando
RewriteEngine
- Si se crea dentro de
/usr/local/www/webdav un directorio con el mismo nombre que el usuario, ese usuario podrá usar su propio espacio después de autenticarse
Casos de uso de WebDAV y posibilidades de expansión
- El autor usa WebDAV junto con apps como las siguientes
- Joplin: app para sincronizar notas con su propio servidor
- Keepassium: cliente de Keepass para iOS/MacOS
- VLC e Infuse: streaming y reproducción de medios
- rclone: sincronización de archivos para publicar un blog estático (más rápido que NFS/SMB y sin necesidad de VPN)
- Además, descubrió un nuevo proyecto llamado Altmount
- Permite “montar” contenido publicado en Usenet y acceder a él directamente sin descargarlo
- Le parece interesante que permita acceder a Usenet fácilmente a varios gigabits por segundo
2 comentarios
Dentro de la infraestructura de casa uso NFS o SMB, y para lo externo sigo usando bien WebDAV, jaja.
Comentarios en Hacker News
Esto permite sincronizar o montar entre servidores WebDAV, y también exponer el sistema de archivos local, S3, Google Drive y otros como servidor WebDAV
El RFC es mejor que FTP, pero todavía hay mucho comportamiento no estándar por las diferencias entre implementaciones, así que hacen falta varios rodeos
De forma predeterminada no se pueden configurar la hora de modificación ni los hashes, pero implementaciones como ownCloud y Nextcloud sí lo soportan
Al estar basado en HTTP y TLS, es mucho más rápido que SFTP
NFS también está basado en TCP y puede usar cifrado, pero en Windows el soporte es flojo y solo macOS lo trae de forma nativa
En cambio, WebDAV funciona bien en ambas plataformas
Ahora uso davx5, pero el acceso a archivos es incómodo
Encaja bien con la infraestructura mTLS que ya tengo montada, así que prefiero WebDAV
Del lado del servidor uso sftpgo
No es una tecnología exclusiva de Amazon; también hay proyectos open source con apoyo de EU Horizon como Garage S3
https://garagehq.deuxfleurs.fr/
Por ejemplo, Tailscale Drive Share está basado en WebDAV, y al almacenamiento de archivos de Fastmail también se puede acceder por WebDAV
WebDAV es una tecnología bastante genial
Funciona muy bien
Tanto Windows como macOS traen soporte integrado, pero los usuarios comunes no pueden acceder a él
En Windows es solo para WSL y en macOS solo para virtualización, lo cual es una lástima
Sería excelente poder montar 9p directamente desde la interfaz
Es compatible con el cliente de NextCloud (escritorio/Android), y también se puede usar desde Gnome Online Accounts o Nautilus
https://codeberg.org/lunae/dav-next
Aún no hay empaquetado ni lanzamientos binarios, pero agradezco comentarios
En la plataforma cloud de nuestra empresa también estamos desarrollando una función para acceder como si fuera una unidad a través de WebDAV
Como podemos reutilizar la infraestructura basada en HTTP, casi no añade complejidad extra
Las tecnologías aburridas pero estables son las que al final duran más
Además, es un estándar abierto
Todavía hay muchos hostings compartidos que indican subir archivos por FTP
También permiten claves SSH o SFTP, pero en la documentación todavía se mencionan herramientas FTP como FileZilla
Guía de FTP de OVHcloud
Me cuesta creer que todavía se use un protocolo sin cifrado
Yo descartaría ese tipo de hosting de inmediato
Extraño la época en que se usaba para distribuir software o en el ámbito académico, pero ahora casi solo le quedan sus últimos usos
Permite sincronizar entre usuarios con distintas cuentas de iCloud y evita tener que pagar una suscripción a Dropbox
Es más rápido que CloudKit y también da menos trabajo de mantenimiento
Parece que lo podré seguir usando por mucho tiempo
También incluye un web scraper, así que sirve bien para guardar Markdown desde chatbots LLM
Hoy en día la mayoría de los proveedores ofrecen compatibilidad con la API de S3
Al final, parece que hablaba del protocolo en sí