WebDAV基于HTTP,却不只使用GET和POST。文件浏览常用PROPFIND,上传使用PUT,重命名可能使用MOVE,协作编辑还会用LOCK和UNLOCK。浏览器能打开文件,只证明GET路径可用,不能代表反向代理、WAF和服务器允许完整WebDAV方法集。
常见WebDAV方法
| 方法 | 用途 | 常见故障 |
|---|---|---|
| PROPFIND | 读取目录和资源属性 | 405、深度限制与XML响应 |
| PUT | 上传或覆盖文件 | 体积限制、超时和权限 |
| MKCOL | 创建集合/目录 | 路径、父目录和权限 |
| MOVE/COPY | 重命名或复制 | Destination头、跨主机与覆盖 |
| LOCK/UNLOCK | 协作锁定 | Token、超时和客户端兼容 |
代理为何会拒绝WebDAV方法
安全网关可能只允许常用HTTP方法,或WAF把PROPFIND和LOCK判为异常。应为WebDAV专用路径建立最小允许方法,不要全站开放。若业务不需要锁或远程复制,可继续禁用相应能力。
认证问题如何分层
正向代理可能返回407;WebDAV服务器返回401或403。Basic、Digest、Bearer、客户端证书和系统集成认证兼容性不同。客户端保存凭据时应使用系统安全存储,不把账号密码写入公开URL。
反向代理请求体限制在哪里
CDN、WAF、Nginx、应用服务器和临时目录都可能有最大请求体限制。小文件成功、大文件413时,应逐层核对。无限提高会增加磁盘和内存风险,应与业务最大文件、配额和扫描流程协调。
分块传输为何会失败
部分客户端使用Chunked Transfer-Encoding,某些服务器或代理组合支持不一致。还有客户端在应用层分块上传,但这并非所有WebDAV服务器的统一能力。应抓取受控测试请求,确认Content-Length、Transfer-Encoding和服务端行为。
Expect: 100-continue有什么影响
大文件客户端可能先发送Expect,等待服务器允许再上传正文。中间层不正确处理时,会在发送前卡住或超时。时间线要区分等待100响应、上传数据和等待最终响应。
LOCK为什么会残留
客户端申请锁后断线,服务端会保留到超时。重新连接若没有原Lock Token,可能无法覆盖文件。应合理设置锁超时、刷新和清理,并在应用日志中关联Token摘要,不记录完整敏感信息。
MOVE为何在代理后报错
MOVE使用Destination头,代理改写Host、协议或路径前缀后,服务器可能认为目标跨主机或不合法。外部URL、内部URL和反向代理基路径必须一致,URL编码也不能被重复解码。
大文件超时如何恢复
标准PUT中断后是否支持续传取决于服务器和客户端。客户端没收到响应时,服务器可能已保存完整文件或临时文件。重试前先查询资源属性和校验,使用临时名称上传、完成后MOVE可降低半成品可见风险。
TLS与证书
客户端应验证WebDAV服务证书与域名。企业反向代理终止TLS后,也要保护代理到后端的链路。不要关闭证书验证;系统WebDAV客户端与第三方应用可能使用不同CA存储。
日志和文件隐私
日志记录用户、方法、状态、字节数、耗时和匿名路径标识即可。文件名、目录、Authorization和锁Token可能敏感,应脱敏。上传内容需按组织策略进行恶意文件扫描与配额控制。
排查顺序
- 记录客户端、服务器和代理版本;
- 分别测试PROPFIND、PUT、LOCK和MOVE;
- 区分407、401、403、405与413;
- 检查分块、Expect和各层超时;
- 验证路径前缀、Destination和URL编码;
- 模拟断线上传与锁恢复;
- 校验文件大小、哈希和日志脱敏。
延伸阅读
大文件中断和Range语义可参考大文件代理下载、断点续传与校验。
结论
WebDAV代理故障的关键是完整HTTP方法集和文件语义。下载成功只是最低门槛,认证、锁、上传体积、分块和MOVE都要逐项验证,才能支持稳定同步。






