🌐 内网穿透方案:Cloudflare Tunnel|Alist外网访问|无公网IP|新手教程|保姆级
🎬 视频教程
📌 1. 演示环境
- 操作系统:Ubuntu
- 已安装软件:Docker、AList
- 核心服务:Cloudflare Tunnel(未安装)
- 实现目标:在非公网 IP 环境下,通过域名直接访问 AList 服务
🚀 2. 搭建 Cloudflare 隧道
🔹 Cloudflare 端操作
- 登录 Cloudflare,进入 ZeroTrust
- 依次进入 网络 → Tunnels
- 创建隧道 → 获取 Token → 配置域名
🌍 域名配置
配置项 | 说明 |
---|---|
自定义子域名 | 设定希望用于访问服务的网址 |
服务类型 | 选择 http |
URL | 根据配置说明填写 |
🛠 URL配置说明
根据 AList 和 Cloudflared 的不同安装方式,网络访问方式将有所不同。请根据以下的表格来选择正确的端口映射和访问方式:
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 | version: '3.3' |
🚀 启动 & 更新服务
1 | sudo docker compose up -d |
🔗 4. 验证域名访问
✅ 待 Cloudflare Tunnel 连接成功、状态正常后
- 打开浏览器,访问 配置的域名
- 若成功访问 AList 界面,则穿透完成 🎉
💡 5. 总结
- 使用 Cloudflare Tunnel 解决 无公网 IP 访问服务 的问题
- 结合 Docker Compose,方便管理 AList 和 Cloudflared
- 注意 URL配置 正确,确保服务和隧道能够正确连通
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Newbie Village!