🎬 视频教程

📌 1. 演示环境

  • 操作系统:Ubuntu
  • 已安装软件:Docker、AList
  • 核心服务:Cloudflare Tunnel(未安装)
  • 实现目标:在非公网 IP 环境下,通过域名直接访问 AList 服务

🚀 2. 搭建 Cloudflare 隧道

🔹 Cloudflare 端操作

  1. 登录 Cloudflare,进入 ZeroTrust
  2. 依次进入 网络 → Tunnels
  3. 创建隧道获取 Token配置域名

🌍 域名配置

配置项 说明
自定义子域名 设定希望用于访问服务的网址
服务类型 选择 http
URL 根据配置说明填写

🛠 URL配置说明

根据 AListCloudflared 的不同安装方式,网络访问方式将有所不同。请根据以下的表格来选择正确的端口映射和访问方式:

AList 与 Cloudflared 安装方式对比表

AList 安装方式 Cloudflared 安装方式 端口映射说明 访问方式
宿主机上安装 AList 宿主机上安装 Cloudflared AList 直接监听宿主机端口(如 5244 1. 使用 宿主机 IP 访问:http://<宿主机 IP>:5244
2. 使用 localhost 访问:http://localhost:5244
宿主机上安装 AList Docker 中安装 Cloudflared AList 直接监听宿主机端口(如 5244 1. 使用 宿主机 IP 访问:http://<宿主机 IP>:5244
2. 不能使用 localhost 访问;需要通过宿主机 IP 访问
Docker 中安装 AList 宿主机上安装 Cloudflared AList 使用 Docker 映射端口(如 5244:5244 1. 使用 宿主机 IP 访问:http://<宿主机 IP>:5244
2. 使用 localhost 访问:http://localhost:5244
Docker 中安装 AList Docker 中安装 Cloudflared AList 使用 Docker 映射端口(如 5244:5244 1. 使用 宿主机 IP 访问:http://<宿主机 IP>:5244
2. 不能使用 localhost 访问;需要通过宿主机 IP 或 Docker 网络访问
3. 通过 Docker 网络访问:如果容器之间共享同一网络,可以使用容器名称或 Docker 网络 IP 来访问 http://<容器名>:5244

🛠 3. 本地搭建 Cloudflare 隧道

📌 安装方式建议

  • 若 AList 运行在 Docker,推荐 Cloudflared 也使用 Docker
  • 若 AList 直接安装,推荐 Cloudflared 直接安装
  • 这里采用 Docker Compose 统一管理,更方便

✍️ 修改 Docker-Compose 配置

进入项目所在文件夹:

1
cd /home/nbvil/2jz

使用 nano 编辑 docker-compose.yml 文件

1
nano docker-compose.yml

原有 AList 的基础上,添加 cloudflared 配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3.3'
services:
alist:
image: 'xhofe/alist:latest' # 使用 latest 稳定版
container_name: alist
volumes:
- './alist:/opt/alist/data' # 文件映射到当前目录,方便管理
ports:
- '5244:5244'
environment:
- PUID=0
- PGID=0
- UMASK=022
restart: unless-stopped

cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel run
environment:
- TUNNEL_TOKEN=<your-tunnel-token> # 提供 Token

🚀 启动 & 更新服务

1
sudo docker compose up -d

🔗 4. 验证域名访问

待 Cloudflare Tunnel 连接成功、状态正常后

  1. 打开浏览器,访问 配置的域名
  2. 若成功访问 AList 界面,则穿透完成 🎉

💡 5. 总结

  • 使用 Cloudflare Tunnel 解决 无公网 IP 访问服务 的问题
  • 结合 Docker Compose,方便管理 AList 和 Cloudflared
  • 注意 URL配置 正确,确保服务和隧道能够正确连通