问题描述
通过RaiDrive等客户端无法访问Alist的WebDAV服务,具体表现为:
- 访问时被重定向到Cloudflare Access登录页(
deermiya.cloudflareaccess.com) - WebDAV协议不支持网页登录,导致404错误
- 公司网络无法访问
ddns.xxxxxxx.xyz:5244,但手机热点可以
根本原因
1. Cloudflare Access拦截
- Alist通过Cloudflare Tunnel暴露到公网
- Tunnel上启用了Cloudflare Access认证保护
- WebDAV客户端无法完成网页登录流程,被Access拦截
2. 端口配置错误
- Cloudflare Tunnel将后端5244端口映射到前端443端口
- 客户端应该访问443端口(HTTPS标准端口),而不是5244
- 路径应该是
/dav,不是/d
3. 公司网络端口限制
- 公司防火墙封锁了5244等非标准端口
- 只开放80、443、8080等标准端口
- 手机热点走运营商网络,不封非标准端口
解决方案
步骤1: 配置Cloudflare Access Bypass规则
在Cloudflare Zero Trust控制台:
创建新的Application
- 导航: Access → Applications → Add an application
- 应用名称:
Alist WebDAV - 域名:
alist.xxxxxxx.xyz - Path路径:
/dav← 关键配置!
添加Bypass策略
- 策略名称:
Bypass All - Action:
Bypass - 选择器:
Everyone - 值:
Everyone
- 策略名称:
原理说明:
- Cloudflare会优先匹配更具体的路径规则
/dav路径的请求走Bypass规则,完全放行- 其他路径仍然需要Access认证保护
步骤2: 正确配置RaiDrive客户端
地址: alist.xxxxxxx.xyz
端口: 443
路径: /dav
用户名: deermiya
密码: ******
TLS/SSL: TLS 1.3 ✓
关键点:
- ✅ 端口填443(HTTPS标准端口)
- ✅ 路径填
/dav(Alist的WebDAV标准路径) - ❌ 不要填5244端口(那是后端端口)
- ❌ 不要带
:443在域名里
为什么公司网络和手机热点表现不同?
| 对比项 | 公司网络 | 手机热点 |
|---|---|---|
| 网络出口 | 企业防火墙 | 运营商网关 |
| 端口策略 | 只开放80/443/8080等标准端口 | 基本不封端口 |
| 5244端口 | 被防火墙拦截 ❌ | 可以访问 ✓ |
| 443端口 | 必须开放(所有HTTPS网站) ✓ | 可以访问 ✓ |
| 安全考虑 | 严格限制降低攻击面 | 相对宽松 |
结论:
- 在公司网络必须使用域名+443端口访问(走Cloudflare Tunnel)
- 不能直接访问
ddns.xxxxxxx.xyz:5244(被防火墙拦截)
验证方法
1. 浏览器测试
访问 https://alist.xxxxxxx.xyz/dav
- ✓ 正常: 弹出HTTP基础认证对话框(要求输入WebDAV用户名密码)
- ✗ 异常: 跳转到Cloudflare Access登录页
2. RaiDrive连接测试
- 点击"连接"按钮
- 成功挂载则显示为网络驱动器
常见错误配置对照
| 配置项 | ❌ 错误 | ✓ 正确 |
|---|---|---|
| 地址 | alist.xxxxxxx.xyz:443 | alist.xxxxxxx.xyz |
| 端口 | 5244 | 443 |
| 路径 | /d 或 留空 | /dav |
| TLS | 不加密 | TLS 1.3 |
技术架构说明
[RaiDrive客户端]
↓
↓ HTTPS:443 + /dav路径
↓
[Cloudflare Edge] → 检查Access规则
↓ 匹配 /dav → Bypass(放行)
↓
[Cloudflare Tunnel] → 加密隧道
↓
↓ 本地5244端口
↓
[Alist服务] → WebDAV服务
总结
这个问题的本质是三层问题叠加:
- Cloudflare Access认证机制与WebDAV协议不兼容
- Cloudflare Tunnel的端口映射理解错误(5244→443)
- 公司网络防火墙封锁非标准端口
解决思路:
- 通过Access Bypass规则豁免WebDAV路径的认证
- 使用443标准端口访问(绕过公司防火墙限制)
- 正确配置路径和加密方式
最终结果:
- 在任何网络环境(包括公司网络)都能通过WebDAV访问Alist
- 其他路径仍然受Access保护,安全性不受影响