使用 OpenList 将 S3 转换为 WebDAV
Amazon S3 是一种高可扩展、低延迟的对象存储服务,广泛用于存储和管理数据。尽管目前有多个工具来将 S3 与其他存储解决方案(如 Storage Gateway,EMRFS 或者 S3FS 等)集成,但今天我们介绍一个新的方法,通过使用 OpenList,将 S3 存储转换为 WebDAV,简化文件管理和访问。
本文将引导你通过 Docker Compose 启动 OpenList,并将其与 Amazon S3 配置,以便通过 WebDAV 协议进行访问。
步骤 1:使用 Docker Compose 启动 OpenList
首先,我们需要通过 Docker Compose 来启动 OpenList 服务。以下是一个示例 docker-compose.yml 配置文件:
1 | services: |
保存该配置后,使用以下命令启动 OpenList 容器:
1 | docker-compose up -d |
启动成功后,OpenList 的 Web 界面将在端口 5244 上可用。你可以通过浏览器访问 http://localhost:5244 进入管理界面。默认用户名为 admin,初始密码可以通过环境变量设置,或者在容器日志中查看。

我用的是 Orbstack,可以很方便的查看容器日志。如果你使用的是 Docker cli,也可以使用 docker logs 进行查看。

步骤 2:配置 S3 存储
一开始,OpenList 容器没有绑定任何存储,所以页面将显示为空白。此时需要点击右下角的“管理”按钮,进入存储配置界面。

- 在“存储”选项卡下,选择“对象存储”作为存储类型。
- 配置挂载路径(例如
/s3),这相当于 Linux 系统中的挂载目录。
- 输入你的 S3 存储桶的名称、区域和访问密钥。确保使用正确的 S3 endpoint。
我的存储桶位于东京,因此我在配置中使用了s3.ap-northeast-1.amazonaws.com作为 endpoint。如果你的存储桶位于其他区域,记得修改为相应区域的 endpoint。

为了方便获取你的 AWS 凭证,可以使用以下命令获取当前机器绑定的凭证:
1 | pip install awsx |
如果你使用 uv 管理 Python 环境,可以运行以下命令打印当前用户名和使用的 Access Key 以及 Secret Key:
1 | uvx awsx |

步骤 3:配置重定向
与许多 SDK 的重定向机制不同,如果你在配置中错误地设置了美东区的 endpoint,OpenList 客户端将不会自动在收到 301 重定向响应后转发请求到正确的区域,而是会报错。
例如,如果你将 endpoint 设置为 s3.us-east-1.amazonaws.com,但存储桶位于 ap-northeast-1 区域,你将遇到以下错误:
1 | BucketRegionError: incorrect region, the bucket is not in 'ap-northeast-1' region at endpoint 's3.us-east-1.amazonaws.com' |

解决方法是确保在配置中使用正确的区域,避免跨区域错误。
步骤 4:启用 MFA(可选)
为了提高安全性,尤其是在将 OpenList 部署到公网环境时,建议启用多重身份验证(MFA)。启用 MFA 可以增加 AWS 账户的安全性,避免潜在的安全风险。
在 AWS 控制台中启用 MFA 后,记得更新 OpenList 中的凭证配置,确保启用了双重认证。

步骤 5:配置用户权限
OpenList 默认情况下将用户权限设置为只读。要赋予 admin 用户 WebDAV 的管理权限,请进入“用户 - 编辑”界面,修改相应的权限设置。

步骤 6:访问 S3 文件
完成配置后,OpenList 将自动同步 S3 存储桶的数据。你可以在 Web 界面上方便地进行文件下载、解压、上传文件等操作。

这个是 S3 上页面,可以看到 s3 的数据都被同步到 Openlist 上了。

同时也能够在 Openlist 上在线观看 S3 上的存的视频教程。

同时所有操作都可以通过 WebDAV 协议进行,访问路径为:
1 | http(s)://<ip>/dav |
例如,在 MacOS 上,可以通过 Finder 进行 WebDAV 访问:
- 在 Finder 中选择“前往”>“连接服务器”。
- 输入 WebDAV 路径,例如:
http://localhost:5244/dav。 - 输入 OpenList 的用户名和密码进行身份验证。

在 Finder 中使用 WebDAV 进行访问:

你还可以使用 Linux 命令行来操作 WebDAV,减少了学习 S3 命令行的成本。

总结
通过使用 OpenList,我们可以轻松地将 Amazon S3 转换为 WebDAV,简化了文件访问和管理。通过本文的步骤,你可以快速启动 OpenList、配置 S3 存储桶,并通过 WebDAV 协议访问存储在 S3 上的文件。希望这篇文章能帮助你更高效地管理 S3 数据,并为你提供更加便捷的文件访问方式。
使用 OpenList 将 S3 转换为 WebDAV


