如何通过 Cloudflare Tunnel 更安全的访问 RustFS?
RustFS 默认通过 RustFS 支持二进制、Docker 以及 Helm Chart 的安装方式,详细方法可以查看官网安装指南。将如下内容写入 运行如下命令 即可安装好一个 RustFS 实例: 配置 Cloudflare tunnel 大体分为 域名配置 和 tunnel 配置 两部分。 域名配置是为了后期能够更方便的访问 RustFS。 在 Install and run connectors 中,根据 RustFS 实例所在服务器的操作系统信息,选择相应的安装方式。安装完毕后,可以在服务器上查看 在 Route Traffic 中,配置 Hostname 和 Service 信息。 上述配置结束后,可以在 Connectors 界面看到添加好的 tunnel,如果一切顺利,则可以看到 Status 为绿色的 HEALTHY。 恭喜你,如果你顺利完成了上述两部分的配置后,那么现在你就可以通过你配置好的域名来访问 RustFS 实例了。本文配置的域名为 输入 接下来就可以通过多种方式来使用 RustFS 实例了,比如 更多用法可自行探索。 执行 对于其他用法,可以通过 注意:添加 目前提供 更多用法,可以通过 9001 端口登录控制台,9000 端口使用 API,为了安全合规,通常采用启用 HTTPS、反向代理(诸如 nginx、traefik、caddy 等)的方式来更加安全的使用 RustFS。本文分享一种更加安全的方式,通过 Cloudflare tunnel 来访问你的 RustFS 实例。安装 RustFS
docker-compose.yml 文件:services:
rustfs:
image: rustfs/rustfs:latest
container_name: rustfs
hostname: rustfs
environment:
- RUSTFS_VOLUMES=/data/rustfs{1...4}
- RUSTFS_ADDRESS=0.0.0.0:9000
- RUSTFS_CONSOLE_ENABLE=true
- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
- RUSTFS_ACCESS_KEY=rustfsadmin
- RUSTFS_SECRET_KEY=rustfsadmin
- RUSTFS_TLS_PATH=/opt/tls
ports:
- "9000:9000" # API endpoint
- "9001:9001" # Console
volumes:
- data1:/data/rustfs1
- data2:/data/rustfs2
- data3:/data/rustfs3
- data4:/data/rustfs4
- ./certs:/opt/tls
networks:
- rustfs
networks:
rustfs:
driver: bridge
name: rustfs
volumes:
data1:
data2:
data3:
data4:docker compose up -ddocker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
rustfs rustfs/rustfs:1.0.0-alpha.81 "/entrypoint.sh rust…" rustfs 22 minutes ago Up 22 minutes 0.0.0.0:9000-9001->9000-9001/tcp, [::]:9000-9001->9000-9001/tcp配置 Cloudflare tunnel
域名配置

tunnel 配置
cloudflared 服务的状态。运行正常后点击 Next。systemctl status cloudflared
● cloudflared.service - cloudflared
Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-01-16 21:18:53 CST; 6 days ago
Main PID: 2538004 (cloudflared)
Tasks: 10 (limit: 4375)
Memory: 31.3M (peak: 38.7M swap: 8.2M swap peak: 15.3M)
CPU: 18min 16.159s
CGroup: /system.slice/cloudflared.servicelocalhost:9001。
在 Hostname 和 Service 设置页面的 Additional application settings 部分,点击 HTTP Settings,在 HTTP Host Header 部分,输入访问 RustFS 的域名,这是为了避免后续使用出现签名错误。
登录验证
rustfs.xiaomage.vip,所以在浏览器中输入 https://rustfs.xiaomage.vip 即可访问 RustFS 实例:
rustfsadmin/rustfsadmin 即可登录。mc、rc 以及 rclone。通过
mc 使用 RustFSmc 是 Minio 的专属客户端,由于 RustFS 是 S3 兼容的,而且是 Minio 的平替,所以可以用 mc 来操作 RustFS。前提
mc。mc --version
mc version RELEASE.2025-08-29T21-30-41Z (commit-id=f7560841be167a94b7014bf8a504e0820843247f)
Runtime: go1.24.6 darwin/arm64
Copyright (c) 2015-2025 MinIO, Inc.
MinIO Enterprise License使用
# 添加 `alias`
mc alias set rustfs https://rustfs.xiaomage.vip rustfsadmin rustfsadmin
# 创建存储桶
mc mb rustfs/hello
# 列出存储桶
mc ls rustfs
[2026-01-23 21:39:36 CST] 0B hello/
[2026-01-23 20:12:59 CST] 0B test/
# 上传文件到存储桶
echo "123456" > 1.txt
mc cp 1.txt rustfs/hello
/tmp/1.txt: ██████████████████████████████████████████████████████████████████████████████████ 100.0% 7 B 1 B/s
# 查看上传的文件
mc ls rustfs/hello
[2026-01-23 21:40:44 CST] 7B STANDARD 1.txt通过
rclone 使用 RustFSrclone是一个命令行工具,可以对不同云提供商上的文件和目录进行同步。前提
rclone 官网指南安装好 rclone 命令行工具。rclone --version
rclone v1.72.1
- os/version: ubuntu 24.04 (64 bit)
- os/kernel: 6.8.0-71-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.25.5
- go/linking: static
- go/tags: none使用
rclonerclone config 命令,根据 RustFS 实例信息,一步步进行配置。配置完成后,会生成一个 ~/.config/rclone/rclone.conf 文件,一般内容如下:[rustfs]
type = s3
provider = Minio
access_key_id = rustfsadmin
secret_access_key = rustfsadmin
endpoint = https://rustfs.xiaomage.vip
region = us-east-1
force_path_style = true由于目前 RustFS 还未向 rclone 官方提 PR 以增加 RustFS provider 信息,因此使用 Minio 作为 provider。
# 列出存储桶和对象
rclone ls rustfs: --s3-sign-accept-encoding=false
7 hello/1.txt
11792 test/1.log
520512 test/123.mp3
7394 test/2.log
147240 test/321.mp3
# 查看某个对象内容
rclone cat rustfs:hello/1.txt --s3-sign-accept-encoding=false
123456 rclone --help 来自行探索。--s3-sign-accept-encoding=false 参数是因为 Cloudflare 会对 Accept-Encoding 参数进行修改,在 S3 协议中,这种变更会导致 SignatureDoesNotMatch 错误,详情可以查看 RustFS issue。通过
rc 使用 RustFSrc 是 RustFS 的 Client,用来对 RustFS 进行操作。目前,刚发布 0.1.1。可以使用 cargo 或源码编译安装。rc --version
rc 0.1.1alias、ls、mb、rb 等多种常规命令。使用方式和 mc 类似。# 设置 alias
rc alias set rustfs https://rustfs.xiaomage.vip rustfsadmin rustfsadmin
✓ Alias 'rustfs' configured successfully.
# 列出存储桶
rc ls rustfs
[2026-01-23 13:39:36] 0B hello/
[2026-01-23 13:56:57] 0B rclone/
[2026-01-23 12:12:59] 0B test/
# 创建存储桶
rc mb rustfs/client
✓ Bucket 'rustfs/client' created successfully.rc --help 进行查看并自行探索,使用过程中有任何问题,可以在 GitHub Issue中进行反馈。

















