树莓派webdav
把树莓派插在路由器旁边已经三年了。树莓它一直在跑一些杂活,树莓DNS屏蔽广告、树莓定时备份、树莓偶尔当个下载机。树莓真正让我觉得“这玩意值回票价”的树莓瞬间,是树莓配好WebDAV那天。手机相册自动同步、树莓电脑文件随手存取、树莓出差时从酒店拉资料——全部走自家网络,树莓不经过任何第三方云。树莓
WebDAV这协议不新,树莓1996年的树莓东西。但它比SMB轻,树莓比FTP安全,树莓比NFS跨平台。树莓派上搭一个,成本几乎为零。我用的是Raspberry Pi 4B,2GB版,SD卡里跑着Raspberry Pi OS Lite。装起来就三步:sudo apt install nginx,sudo apt install nginx-extras,然后在配置文件里塞几行dav_methods指令。十分钟的事。
真正麻烦的是权限。HTTP协议本身不认Linux用户,得靠nginx的auth_basic或者更细的dav_access来控制。我踩过一个坑:默认配置下,上传的文件owner是www-data,结果我SSH进去想清理旧文件,发现删不掉——因为我不是那个用户。后来统一改成dav_access user:rw group:rw all:r,再把整个目录chown给一个专门建的davuser,才算顺了。
性能方面,树莓派的千兆网口在WebDAV下能跑满90MB/s左右。这成绩不算惊艳,但同步几百张照片、传几个大压缩包,体感跟局域网SMB没区别。真正瓶颈在SD卡——写多了会掉速。我后来把WebDAV根目录挂到一块USB3.0的SSD上,速度直接翻倍,而且不再心疼TF卡的寿命。
有个细节值得提:树莓派散热。我加了块铝制散热片,没装风扇。夏天室温30度时,持续传输大文件,CPU温度会飙到65度。系统没崩,但nginx日志里偶尔出现worker_connections不够的警告。改一下/etc/nginx/nginx.conf里的worker_connections 1024,问题就没了。如果你打算长期开着,建议把日志轮转也配了,不然/var/log/nginx/access.log一个月能涨到2GB。
手机端我用的是Solid Explorer,支持WebDAV直接连接,还能后台同步。电脑上Windows资源管理器原生支持,映射网络驱动器就行。macOS用Finder的“连接服务器”功能,输入http://树莓派IP:端口,一次搞定。没有装任何客户端软件,这比NextCloud那种全家桶轻太多了。
最爽的场景是出差。上次去客户现场,临时要一份产品手册,手机4G信号不好,公司VPN又忘了连。我直接打开手机浏览器,访问自家树莓派的WebDAV地址——输入密码,下载PDF,全程不到30秒。那一刻觉得,这棵“小树莓”比任何云盘都可靠。
如果你也想试,记住一条:别用默认端口。把WebDAV挂在8080或者随机端口上,再用路由器做端口转发。虽然WebDAV本身带认证,但暴露在公网上总归多一层风险。我加了fail2ban,连续输错五次密码就封IP,目前日志里没看到任何可疑尝试。
树莓派做WebDAV服务器,不华丽,但实用。它不像NAS那样需要几千块的硬件投入,也不像云服务那样按月付费。一块旧硬盘、一根网线、一个常年吃灰的树莓派,就能凑出一个真正属于你的文件枢纽。唯一要做的,是别把它塞在弱电箱里闷死——给它透透气,它能勤勤恳恳跑好几年。
