收起左侧

Lucky + IPv6 反向代理:公网访问 Docker 服务

3
回复
243
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

家里的 Docker 服务装多了,端口号也一堆:524480967878……别说记不住,人在外面想访问一下,还得先登飞牛后台,再点进应用,体验太折腾。好在飞牛系统里有个叫 Lucky 的小工具,配好之后,就能用 “域名 + 固定端口” 的方式,直接访问家里搭的服务了。

考虑到现在大多数运营商都不给公网 IPv4 地址了,但基本都会给公网 IPv6,咱们正好可以利用 IPv6 + AAAA 解析,再配合 Lucky 的 Web 反向代理功能,实现在外面访问内网服务。这篇文章就拿已经搭好的“咪咕视频”当例子,走一遍完整的配置流程。

Lucky 功能挺多,但这次我们只用到三个:DDNS(动态域名)SSL/TLS 证书(ACME)Web 服务反向代理


1. 安装 Lucky 并设置基础项

先进飞牛的应用中心,找到 Lucky 把它装上。

装好后打开后台,默认的用户名和密码都是 666

第一次登录后,为了安全,最好马上改掉默认密码。

改完别忘了拉到页面最下面,点一下“保存配置”才算生效。


2. 准备域名服务商的授权信息

因为我手头只有腾讯云的域名,这里就拿 DNSPod 举例。Lucky 要想自动更新域名解析(DDNS)和申请免费证书(ACME),需要有 DNS 服务商的授权凭证。国内版的 DNSPod 推荐用 DNSPod Token

登录 DNSPod,打开 https://console.dnspod.cn/account/token/token 这个页面,创建一个新的 API 密钥。

注意,这个 Token 只会显示一次,一定要马上复制下来存好。


3. 在 DNSPod 添加域名解析

在浏览器里打开 https://console.dnspod.cn/dns/list,进入“我的域名”列表。找到你的域名,点“解析”进去。

点“添加解析”按钮。

因为我们用的是 IPv6,所以记录类型要选 AAAA。地址可以先随便填一个,比如 fe80::0,只是占个位置。等会儿 Lucky 的 DDNS 功能会自动把它更新成你家宽带真正的公网 IPv6 地址。


4. 在 Lucky 里配置 DDNS

在 Lucky 后台,找到 动态域名 → 添加任务,来创建一个 DDNS 任务。

用简易模式就行,这么填:

  • DNS 服务商:选 DNSPod.CN
  • 把刚才保存的 DNSPod Token 的 ID 和 Token 填进去
  • 公网 IP 类型:选 IPv6
  • 同步记录/域名列表:填**刚才在 DNSPod 添加解析的那个完整域名

稍等一会儿,让 DDNS 生效。

看到提示成功,就说明你的域名已经自动指向你家的公网 IPv6 地址了。


5. 申请 SSL/TLS 证书

为了用上 https:// 安全访问,我们还需要一张 SSL 证书。Lucky 自带了自动申请功能(ACME),很方便。官方推荐用 ZeroSSL

在后台找到 SSL 证书 → 添加证书

建议这么填:

  • 添加方式:选 ACME
  • 证书机构:选 ZeroSSL
  • DNS 服务商:还是选 DNSPod.CN
  • 把 DNSPod Token 的 ID 和 Token 再填一遍
  • 域名列表:还是填那个域名

用 ACME 申请的证书快到期时,Lucky 会自动帮你续签,不用操心。


6. 设置 Web 反向代理

这一步是关键,它能让我们通过域名和统一的端口访问到内网各种服务。

进到 Web 服务 → Web 服务规则列表 → 添加 Web 服务规则。第一次进来会跳出一个“重要提示”,读完勾上确认就行。

6.1. 添加主规则(监听端口)

我们先建一个“主规则”,用来监听外网访问的端口。

  • 操作模式:简易模式
  • 监听类型:只勾选 IPv6 就够了
  • 监听端口:51235(可以自定义,这是以后所有服务对外暴露的统一端口)

6.2. 添加子规则(具体服务的转发)

在刚创建的主规则上点鼠标右键,选“添加子规则”。

这个子规则就是具体把域名转发到哪个内网服务。

  • Web 服务类型:反向代理
  • 前端域名:填你的域名,比如 lucky.abc.com(注意别带 http://
  • 后端地址:填内网服务的真实地址,比如咪咕视频是 http://192.168.1.10:51234


7. 搞定!

到这里,所有设置都完成了。现在你的域名通过 DNSPod 的 AAAA 记录指向了家里的公网 IPv6,DDNS 会自动更新 IP,SSL 证书也会自动续期,Lucky 的反向代理帮你把域名和家里的服务连了起来。你可以随时在外面打开 https://你的域名:51235 来看电视直播了。

以后再装别的 Docker 服务,也都可以照着这个方法,添加新的“子规则”就行,非常方便。

收藏
送赞
分享

0

主题

11

回帖

0

牛值

江湖小虾

学习学习

3

主题

18

回帖

0

牛值

江湖小虾

感谢分享,有一点点问题想请教。
1,域名需要备案吗,好像是不用。
2,如果要访问其他服务,lucky内设置好后,是不是 https://子域名:51235就行了?

5

主题

16

回帖

0

牛值

江湖小虾

我想问下 docker 道理鱼 如何设置 https 访问

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则