树洞剪藏#剪藏#树洞剪藏

Cloudflare Tunnel 于 Docker 的应用

2024 年 11 月 15 日1 分钟
分享Twitter / XTelegram微博
Cloudflare Tunnel 于 Docker 的应用 封面

同步来源:树洞剪藏 源站剪藏 ID:89 原文地址:https://www.nodeseek.com/post-184331-1

打开原文 · 打开源站剪藏快照


Cloudflare Tunnel 于 Docker 的应用

NodeSeek beta 日常 技术 情报 测评 交易 拼车 推广

Cloudflare Tunnel 于 Docker 的应用

三七 楼主 17days ago edited 17days ago in 技术 #0

  1. 通过Cloudflare Tunnel 给 Docker 应用提供代理和HTTPS

Cloudflare Tunnel 是 Cloudflare 的免费隧道, 主要可以用来内网穿透

这里分享Cloudflare Tunnel 与 Docker 应用 的配合, 有下列这些优势:

优点:

零配置防火墙: 隐藏宿主机IP,无惧攻击

无需公网IP: 方便分享展示

自动HTTPS: 加密访问, 无需续签证书

简化网络配置: 迁移方便, 整个文件夹打包到另一台vps, 一行命令重建

下面我以 filebrowser 为例, 说明操作步骤

1、下载 cloudflared

首先需要在一台电脑上创建隧道, 需要能打开浏览器的电脑, 下载对应系统版本的 cloudflared

github下载链接

2、登录

解压进入 cloudflared 所在目录

打开 终端 执行下面命令

cloudflared login

登录,在弹出的网页,选择一个托管在 cloudflare 上的根域名

之后会在用户根目录生成 .cloudflared 文件夹

里面有 cert.pem, 证书, 下次无需再登录

3、创建一个隧道

执行下面命令

cloudflared tunnel create <隧道名字>

会在 .cloudflared 文件夹,生成一个 .json 文件,记住 id

忘记隧道名和 id 可以通过下面命令找回

cloudflared tunnel list

4、添加解析

为 filebrowser 分配的域名 , 指向隧道

(最多 xxx.xxx.com 这样的二级域名, cf不给三级以上的域名分配https证书)

执行下面命令

cloudflared tunnel route dns <隧道名字> <域名>

或者在cf官网仪表盘上,创建一个 CNAMEA,域名指向 .cfargotunnel.com

5、建立文件夹结构

接下来我们来到vps上, 在vps上创建文件夹, 形成下面的文件结构

filebrowser ├── home ├── database ├── config ├── cloudflared │ ├── config.yaml │ └── id.json └── docker-compose.yml

filebrowser 为项目根目录, 以后备份迁移直接复制整个文件夹

home 为filebrowser的文件根目录 , 空文件夹

database 和 config 为filebrowser的配置文件 , 空文件夹

cloudflared 为 cloudflared 的配置文件夹

id.json 刚刚生成在本地, 上传到vps

config.yaml 为 cloudflared 的配置文件, 下一步生成

docker-compose.yml 下下步生成

5、创建 config.yaml

将下面代码填入 config.yaml 文件

注意修改的地方:

2处id

域名

docker容器名(本例中为 filebrowser)

tunnel: credentials-file: /etc/cloudflared/.json protocol: quic ingress:

6、创建 docker-compose.yml

创建 docker-compose.yml 文件 ,将下面代码填入

version: '3' services: argo_tunnel: image: cloudflare/cloudflared:latest volumes:

  • ./cloudflared:/etc/cloudflared restart: always command: 'tunnel --config /etc/cloudflared/config.yaml run ' user: root depends_on:
  • filebrowser

filebrowser: image: filebrowser/filebrowser:latest container_name: filebrowser volumes:

  • ./home:/srv
  • ./database:/database
  • ./config:/config environment:
  • PUID=$(id -u)
  • PGID=$(id -g)
  1. 启动

cd 到 filebrowser 目录下, 执行命令

docker compose up -d 启动项目

没出问题的话, 直接访问<域名>就能打开filebrowser了

默认账号:密码 admin:admin

如果想要迁移filebrowser(其他docker应用同理), 只需将filebrowser根目录打包

在另一台vps上,执行 docker compose up -d ,即可恢复原样, 不用回顾繁杂的配置

这也是本方案最大的优势

✒️ 博客 | ⌚ 探针 | ✉️ 私信

5 0 31 引用 回复

1 2

3az7qmfd 16days ago

#12

我选择这样

#33.do 44.do 55.do 66.do 77.do 出 => 短域名 # 京东2C2G3M ¥48/y # 穷鬼VPS套餐大全

1 0 引用 回复

disillusion171- 17days ago #1

@三七 #0 BD收藏吃灰

【 探之针 】||【 站内PM 】||【 小红卡 】||【 16图床 】||【✈️ 纸飞机 】

正在播放 《 晴天 》 ━━━━●─────2:40

⇆ ㅤㅤㅤ◁ ㅤㅤ❚❚ ㅤㅤ▷ ㅤㅤㅤ↻ ​​​

0 0 引用 回复

最后的轻语 17days ago #2

感谢大佬分享,我想在甲骨文上面装个bitwarden,然后用这个代理,这样设置之后要怎么关闭ip➕端口号这种访问呢?

✉️ PM | ✈️ TG

0 0 引用 回复

三七 楼主 17days ago edited 17days ago #3

@最后的轻语 #2 发布于2024/10/29 01:53:47

感谢大佬分享,我想在甲骨文上面装个bitwarden,然后用这个代理,这样设置之后要怎么关闭ip➕端口号这种访问呢?

直接不要映射出端口号来

你看docker-compose.yml 文件里

没有port的配置 , 本身就无法通过 ip + 端口 访问

✒️ 博客 | ⌚ 探针 | ✉️ 私信

0 0 引用 回复

最后的轻语 17days ago #4

@三七 #3 好的,感谢,明天试试

✉️ PM | ✈️ TG

0 0 引用 回复

Mofeng 17days ago #5

挺好的

✈️ TG联系 |❤️ 探针 |✉️ 流量卡推荐

0 0 引用 回复

satorik 17days ago #6

楼主版本是不是有点老了,现在cloudflared在 https://one.dash.cloudflare.com/ 配置不好么,写配置文件感觉是好几年前的操作了

0 0 引用 回复

三七 楼主 17days ago edited 17days ago #7

@satorik #6 发布于2024/10/29 08:17:52

楼主版本是不是有点老了,现在cloudflared在 https://one.dash.cloudflare.com/ 配置不好么,写配置文件感觉是好几年前的操作了

这两种方法各有优劣:

在线配置:

先在面板创建配置,然后在目标vps运行命令创建连接。好处是方便修改配置,在网页上点一下就行了。但是这种方法做不到从容器内部直接穿透到外面。还是穿透宿主机的端口。

通过配置文件:

先生成连接秘钥(id.json),和配置文件,放到vps上,然后运行命令创建连接。虽然修改不方便,但是对于固定的应用来说,也不需要频繁修改。连接秘钥和配置文件一旦生成,无论放到那台vps上,都能建立连接。这大大方便了迁移,和docker十分搭配。

这两种方式和 nps 与 frp 一样

建立连接的方式不同

各自有各自的应用场景

✒️ 博客 | ⌚ 探针 | ✉️ 私信

0 0 引用 回复

satorik 17days ago edited 17days ago #8

@三七 #7

你是在docker里面跑的cloudflared啊,咱第一次知道可以在config.yaml里指定另一个容器的名字,先前没仔细阅读不好意思(

当然这个迁移起来确实方便一些

不过在线配置不能从容器内部穿透到外面吗?在filebrowser的那个block里加一行

ports:

  • 127.0.0.1:8080:80

之后用cloudflared反代

0 0 引用 回复

三七 楼主 17days ago #9

这种方法也可以,条条大路通罗马。

@satorik #8

✒️ 博客 | ⌚ 探针 | ✉️ 私信

0 0 引用 回复

xingxing666 17days ago #10

bd

0 0 引用 回复

1 2

内容 预览 对照

支持 markdown语法

鼓励友善发言,禁止人身攻击

xxxxxxxxxx

1

1 ​

AC娘

洋葱头

小黄鸡

发布评论

88

等级 Lv 4 鸡腿 1907 关注 0 通知 0

主题帖 10 评论数 290 粉丝 2 收藏 182 发帖

快捷功能区 推荐阅读 管理记录 幸运抽奖 邀请好友 合作商家 友站链接

所有版块 日常 技术 情报 测评 交易 曝光 拼车 生活 贴图 推广 内版 Dev 无意义 沙盒

📈用户数目📈

目前论坛共有22061位seeker

🎉欢迎新用户🎉

huotuchensha

alanlu

相关网站 LowEndTalk LowEndSpirit HostLoc ServerHunter

站内导航 关于本站 隐私协议 RSS订阅 sitemap

商业推广 商家申请规则 Premium Provider 合作商家展示

其他平台 电报频道 电报群组

联系我们

Copyright © 2022 - 2024 All rights Reserved

相关文章