WebDAV는 아직 죽지 않았다
(blog.feld.me)- 파일 저장을 위해 S3 중심의 인프라가 사실상 표준이 되었지만, 개인 프로젝트나 자가 호스팅 환경에서는 WebDAV가 여전히 유용한 대안으로 제시됨
- 작성자는 S3의 복잡성과 종속성에 피로감을 느끼고, 단순한 인증 기반 파일 저장소로 WebDAV를 다시 활용하기 시작했다고 설명
- WebDAV는 MacOS Finder, Windows Explorer, rclone, curl 등 다양한 도구에서 기본 지원되어 접근성이 높음
- Apache, Nginx, Caddy 등 주요 웹서버에서 간단한 설정으로 개인별 비공개 디렉터리를 구성할 수 있으며, LDAP 인증 등과도 연동 가능
- 클라우드 종속을 벗어나 자체 파일 관리 인프라를 단순하게 유지하려는 개발자에게 WebDAV는 여전히 실용적 선택지임
S3 중심 파일 저장의 문제점
- FTP는 사라졌고, SFTP는 SSH 및 유닉스 인증에 과도하게 의존하는 구조로 불편함
- AWS S3가 사실상 업계 표준이 되면서 대부분의 웹앱이 S3 연결을 전제로 설계됨
- 이는 Amazon에는 유리하지만 다른 사용자에게는 불편을 초래함
- 개인 프로젝트나 자가 호스팅 환경에서는 S3의 복잡한 기능이 불필요하며, 단순히 인증된 파일 저장소만 있으면 충분함
- 작성자는 S3 사용을 중단하고 WebDAV로 전환했으며, 다른 개발자들도 같은 선택을 고려하길 권장
WebDAV가 적합한 사용자와 요구사항
- WebDAV는 파일 시스템 수준의 HTTP 접근이 필요한 개인 사용자나 소규모 프로젝트에 적합
- 필요 기능: 인증, 파일 쓰기, 효율적 동기화, 기본 비공개 설정, 손쉬운 공개 전환
- 불필요 기능: 고급 ACL, 서명 URL, 버전 관리, 계층형 스토리지, 수명 주기 규칙, 쿼터 등
- 이러한 요구는 대부분의 개인 개발자에게 공감되는 부분이며, OpenStack Swift, CEPH, Minio 같은 복잡한 시스템을 운영할 필요가 없음
- 특히 Minio가 최근 관리 UI를 대폭 제거하고 JSON 정책 파일을 수동 작성하도록 변경하면서, 단순한 파일 저장 목적에는 비효율적임
WebDAV 접근성과 도구 지원
- WebDAV는 다양한 운영체제와 도구에서 기본 지원됨
- MacOS Finder: “서버에 연결” 메뉴에서
https://...입력 - Windows Explorer: “네트워크 드라이브 연결” 또는 “웹사이트 연결” 기능
- CLI 및 앱: rclone, curl, CyberDuck, WinSCP, Filezilla 등
- MacOS Finder: “서버에 연결” 메뉴에서
- 많은 이들이 WebDAV를 구식으로 여기지만, 실제로는 대부분의 웹서버에서 기본 지원
- Apache, Nginx, Caddy, Lighttpd, IIS 등에서 손쉽게 활성화 가능
- OwnCloud, NextCloud 등에서도 WebDAV 기반 접근을 사용
WebDAV의 실제 활용 예시
- WebDAV는 이미 CardDAV, CalDAV 형태로 연락처 및 캘린더 동기화에 사용되고 있음
- 즉, 사용자는 자신도 모르게 WebDAV 기반 서비스를 일상적으로 이용 중
- 작성자는 Apache 기반으로 WebDAV를 구성했으며, LDAP 인증을 연동해 사용자별 개인 디렉터리 접근을 구현
- Caddy는 사용자별 디렉터리 분리를 더 간단히 설정할 수 있으나, Apache도 충분히 가능
- Apache 설정은 다소 복잡하지만, 다중 사용자 환경에서 프라이버시를 보장할 수 있음
Apache 기반 WebDAV 설정 예시
- Apache에서 필요한 모듈:
mod_dav,mod_dav_fs,mod_dav_lock- 오래된 클라이언트 호환을 위한
BrowserMatch설정 포함
- 오래된 클라이언트 호환을 위한
- 주요 설정 요소
-
DavLockDB,DavMinTimeout,DavDepthInfinity등으로 WebDAV 동작 제어 -
AuthType Basic,AuthBasicProvider ldap등을 통해 LDAP 인증 연동 -
RewriteEngine을 이용해 로그인한 사용자가 자신의 디렉터리만 접근하도록 제한
-
-
/usr/local/www/webdav하위에 사용자명과 동일한 디렉터리를 생성하면, 해당 사용자는 인증 후 자신의 공간을 이용 가능
WebDAV 활용 사례와 확장 가능성
- 작성자는 WebDAV를 다음과 같은 앱과 함께 사용 중
- Joplin: 자체 서버에 노트를 동기화하는 앱
- Keepassium: iOS/MacOS용 Keepass 클라이언트
- VLC, Infuse: 미디어 스트리밍 및 재생
- rclone: 정적 블로그 게시용 파일 동기화 (NFS/SMB보다 빠르고 VPN 불필요)
- 또한 Altmount라는 새로운 프로젝트를 발견
- Usenet에 게시된 콘텐츠를 다운로드 없이 “마운트”해 직접 접근 가능
- Usenet에 쉽게 멀티 기가비트로 액세스할 수 있다는 점이 흥미로움
GeekNews Weekly에 포함된 글입니다.
에디터 코멘트 보기
댓글과 토론
Hacker News 의견
- 나는 rclone의 WebDAV 클라이언트와 서버를 모두 작성했음
이를 통해 WebDAV 서버 간 동기화나 마운트가 가능하고, 로컬 파일시스템이나 S3, Google Drive 등을 WebDAV 서버로 노출할 수도 있음
RFC는 FTP보다 낫지만 여전히 구현 간 차이로 인한 비표준 동작이 많아 여러 우회가 필요함
수정 시간이나 해시 설정이 기본적으로 불가능하지만 ownCloud, Nextcloud 같은 구현체는 이를 지원함
HTTP와 TLS 기반이라 SFTP보다 훨씬 빠름- NFS와 비교하면 어떨지 궁금함
NFS도 TCP 기반에 암호화가 가능하지만, Windows는 지원이 약하고 macOS만 기본 지원함
반면 WebDAV는 두 플랫폼 모두에서 잘 동작함
- NFS와 비교하면 어떨지 궁금함
- Android에 WebDAV 마운트가 기본 지원되면 좋겠음
지금은 davx5를 쓰지만 파일 접근이 불편함
이미 구축해둔 mTLS 인프라와 잘 맞아서 WebDAV를 선호함
서버 쪽은 sftpgo를 사용 중임 - “I hate S3”라는 제목이었지만, S3는 적절한 곳에서 쓰면 괜찮음
Amazon만의 기술이 아니라, Garage S3 같은 EU Horizon 지원의 오픈소스 프로젝트도 있음
https://garagehq.deuxfleurs.fr/- “AWS S3 SDK가 사실상 웹 프로토콜 표준이 되어버린 게 싫다”는 글도 써보고 싶음
- 사실 이미 WebDAV를 쓰고 있을지도 모름
예를 들어 Tailscale Drive Share는 WebDAV 기반이고, Fastmail의 파일 저장소도 WebDAV로 접근 가능함
WebDAV는 꽤 멋진 기술임- 나는 CopyParty 인스턴스를 마운트할 때 항상 WebDAV를 씀
아주 잘 작동함
- 나는 CopyParty 인스턴스를 마운트할 때 항상 WebDAV를 씀
- 9p 프로토콜이 더 널리 쓰였으면 좋겠음
Windows와 macOS 모두 내장 지원하지만, 일반 사용자는 접근할 수 없음
Windows는 WSL 전용, macOS는 가상화 전용이라 아쉬움
UI에서 바로 9p를 마운트할 수 있으면 훌륭할 것 같음 - WebDAV가 아직 살아있다고 믿기에, 최근 nginx용 WebDAV 모듈을 WIP로 공개했음
NextCloud 클라이언트(데스크톱/Android)와 호환되고, Gnome Online Accounts나 Nautilus에서도 사용 가능함
https://codeberg.org/lunae/dav-next
아직 패키징이나 바이너리 릴리스는 없지만 피드백 환영임 - WebDAV는 단순하고 구현이 쉬워서 지속성 있는 기술이라 생각함
우리 회사의 클라우드 플랫폼에서도 WebDAV를 통해 드라이브처럼 접근할 수 있게 기능을 개발 중임
HTTP 기반 인프라를 그대로 활용할 수 있어서 추가 복잡도가 거의 없음- 완전히 동의함
지루하지만 안정적인 기술이 결국 오래감
게다가 개방형 표준임
- 완전히 동의함
- “FTP는 죽었다”는 말에 공감하지 않음
여전히 많은 공유 호스팅이 FTP 업로드를 안내함
SSH 키나 SFTP도 가능하지만, 문서에는 여전히 FileZilla 같은 FTP 도구가 언급됨
OVHcloud의 FTP 가이드- 나는 순수 FTP를 15년은 안 쓴 것 같음
아직도 암호화 안 된 프로토콜을 쓰는 건 믿기 어려움
저런 호스팅은 바로 제외할 듯함 - 공유 호스팅이 서서히 사라지면서 FTP도 같이 쇠퇴 중임
과거 소프트웨어 배포나 학계에서 쓰이던 시절이 그립지만, 이제는 거의 마지막 용도만 남았음
- 나는 순수 FTP를 15년은 안 쓴 것 같음
- Sabre로 간단한 WebDAV 서버를 만들어 Devonthink 데이터베이스를 동기화함
여러 iCloud 계정 사용자 간 동기화가 가능하고, Dropbox 구독도 필요 없음
CloudKit보다 빠르고 유지보수 부담도 적음
앞으로도 오랫동안 쓸 수 있을 것 같음- iOS용 Devonthink WebDAV 동기화는 빠르고 안정적이며 비구독형임
웹 스크레이퍼도 포함되어 있어 LLM 챗봇의 마크다운 저장용으로 좋음
- iOS용 Devonthink WebDAV 동기화는 빠르고 안정적이며 비구독형임
- 작성자가 S3 API와 S3 자체를 혼동한 듯함
요즘은 대부분의 벤더가 S3 API 호환성을 제공함- 글 후반에 S3 호환 서버를 언급하긴 함
결국 프로토콜 자체에 대한 이야기로 보임
- 글 후반에 S3 호환 서버를 언급하긴 함