什么值得买 06-23
比lukcy更好?全自动docker反代/监控/安全/导航!极空间教程
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

作者:可爱的小 cherry

新发现的神器!一个端口搞定全部 docker 反代和单点登录,自带发现容器、导航面板。

大家好,这里是 Cherry,喜爱折腾、玩数码,热衷于分享数码玩耍经验 ~

最近,在 github 又发现一个好东西——GoDoxy。它是一款轻量级、简单且高性能的 WebUI 反向代理工具。不过这玩意儿没有中文名,根据 GoDoxy,我就给取了个「搞东西」的 " 信雅达 " 名称,大家权当看个乐儿。

不同于目前主流的反代工具,GoDoxy 具有如下几个特点,真的可以说是八项全能!唯一的缺点就是英文界面,不过用上浏览器翻译,那是毫无问题。

项目地址(值得 star):github/yusing/godoxy

项目特点:

1. 读取 docker.sock,并自动发现所有容器入口。

2. 通过一个域名,将所有容器反代,支持 SSO 单点登录。

3. 支持多节点部署。

4. 支持 ACL 访问控制,支持国家、时区、IP 的访问策略。

5. 自动化更新 SSL 证书。

6. 拥有容器状态和流量监控。

7. 支持 HTTP/HTTPS/TCP/UDP 反代和端口转换。

8. 自动生成容器导航栏。

9. 支持 X86 和 ARM 架构。

一、项目部署

1、配置域名

这里先说一下 GoDoxy 的逻辑,它不同于寻常的反代工具,让我们自定义一个三级域名:端口的形式来访问,它是一套全自动的反代工具,有点类似一个SSO在所有容器前自动加一层代理面板。

互联网通过访问我们设置的 GoDoxy 域名,来访问所有的容器服务,并且我们只需要透出 GoDoxy 的一个 HTTPS 端口,就可以实现所有器的访问,生成的容器域名是容器名 .domain.exm: 端口

PS. 部分容器涉及到 URL 后缀的,需要手动增加后缀,比如 blossom。

因此,我们需要先创建一个 DNS 解析,解析到下面两个域名。其中泛域名是用于容器访问使用,而 GoDoxy 域名是用于 WebUI 登录。

1️⃣泛域名: *.domain.top

2️⃣ GoDoxy 域名:godoxy.domain.top ——前缀可改

这里,很多人不喜欢 godoxy 这个域名前缀,这是可以改的,不过改了以后需要去修改根目录下的 .env 文件。

首先,下载最新 exe 格式的压缩包解压,然后把生成的文件夹丢到极空间的个人空间里。建议采用常规的 / 路径 /docker/ 项目的方式来管理。

打包:

夸克:/s/27fcaa38eb67

修改 .env 文件第 72 行,这里的参数 GODOXY_FRONTEND_ALIASES 改成你自己设置的域名前缀即可。

修改 .env 文件第 52、53 行,这里是我改的应用访问端口,也可以根据自己的情况修改。

接着打开极空间的 DDNS 服务,根据自己的需要配置对应的 DNS 解析服务。

这里以阿里云为例,点击上方蓝字登录阿里云获取 Key 和 Secret,然后在下方增加前面提到的两个域名,保存并更新即可。

2、配置文件

接着使用极空间的文本编辑器打开目录 /godoxy/config/config.yaml 文件,主要修改红框内的两个地方(二选一)

本地证书: 即我上面未注释的部分,放你的GoDoxy 域名申请下来的本地证书,在 /godoxy/certs/ 目录下,然后在红框内的 key_path 和 cert_path 里的 XXXX 替换成文件名。(可选)建议使用通配符证书,确保都可以打开域名。缺点是非自签的,3 个月要换一次。

autocert:

provider: local

key_path: certs/ 更名 .key

cert_path: certs/ 更名 .crt

Cloudflare 证书:下方大红框内的配置,需要填写你的 Cloudflare 邮箱账号、域名信息以及 auth_token。没啥缺点,首选建议。

provider: cloudflare

email: abc@gmail.com # 邮箱账号

domains: # 填写你的域名列表

- "*.domain.com"

- "domain.com"

options:

auth_token: 填写 Couldflare API Key

Cloudflare Api Token 获取方式如下,打开个人配置文件,选择 API 令牌——创建令牌——自定义令牌。在自定义令牌里,增加 SSL 和证书的权限保存。

令牌只会出现一次,记得保存好备用,否则只能下次更新替换了。

3、启动容器

打开极空间 docker 应用,选择 Compose 标签,新建项目 godoxy,在添加方式里选择从本地导入,然后选择目录下的 compose.yaml 文件。

导入以后,我们需要修改所有的环境变量所在位置,点击上方的查询路径按钮,复制 godoxy 文件夹所在的目录路径。

将代码中所有的【极空间路径】中文,替换成复制下来的极空间路径,并创建 Compose。

如果启动后,发现子容器 godoxy 一直重启,那么看一下容器的 GODOXY_GID 和 GODOXY_UID 两个环境变量是不是 0,如果不是的话手动编辑一下改成 0 即可。

二、GoDoxy 简介

GoDoxy 部署完成以后,原则上我们就可以关闭所有非 GoDoxy 的容器端口了,因为 GoDoxy 会统一读取 docker.sock,并且将所有容器进行反代。

直接打开域名 https://godoxy. 你的域名 . 你的后缀 :38843 登录系统,输入账号密码 cherry/cherry 登录。

初始密码,可以在 .env 的 25、26 行修改。

下面的图片是系统首页,这里展示了宿主机内的所有创建的容器,包括停止和运行中的。

并且根据项目内设的规则进行了分类,包括容器管理、媒体、下载、普通 docker 等。

这里所有自动发现的容器都是可以点击的,并且已经反代完成。将鼠标移动到容器前面的名字上,可以看到浮窗里会显示反代后的 URL。

切换到 Config Editor 界面,这里是对容器内 /config/config.yaml 文件的配置。这样我们就不需要去 NAS 里修改了,直接可以在页面上修改。

比较重要的配置包括 ACL 策略(即黑白名单,支持地区、国家、IP 等);PVE 控制接入;远程 Docker 管理;通知;域名匹配等。内容比较多,就不一一介绍了,感兴趣的可以去官方网站研究。

Proxies 页面展示的所有自动发现的容器,以及它们的端口、状态、启动时间、网络延迟等,只是一个展示。

Metrics 则是所有容器的服务监控。

Docker 里是所有容器的列表展示,点开单个容器可以看到具体的容器日志。由于 GoDoxy 是支持接入远程 docker.sock 的,所以理论上可以多节点管理任何网络可达的 Docker,真正成为时间管理大师。

总结

这个项目我折腾了有一段时间,因为作者设置了很多安全的参数,缺少一个系统可以启动,但是无法登录也没有报错,加上自己的英文能力不太行,所以可以说是一边摸索一边询问,最后也在作者的帮助下顺利完成了项目部署。

整体体验下来,这一套反代工具,集成了安全登录、反代、容器发现、导航面板、容器监控、日志查看、远程容器管理等等功能,不可谓不强大!

搭配极空间的 DDNS 服务、自带浏览器,可以解决我们绝大多数的容器外网访问安全问题,让 NAS 深度玩法得到更多的保障!

本文来自什么值得买网站(www.smzdm.com)

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

arm架构 信雅达 证书 翻译
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论