Allen's 碎碎念

Allen's 碎碎念

lucky的部署和使用

63
2024-08-19

概述

个人搭建网站过程中,引入域名概念后会遇到一些问题。

  • 当 ip 改变,需要实时更新 DNS 纪录。
  • 域名申请下来之后,为加密一般使用 https 协议,需要申请证书。
  • 当服务架设起来之后,需要对外暴露,需要反向代理。
  • 端口之间通信,需要转发服务。

等等问题,都可以通过 lucky 项目完成。

lucky 是一款集ddns、端口转发、web服务、内网穿透、ACME自动证书等功能一体的项目。

下载 lucky

docker run -d --name lucky --restart=always -p 16601:16601 -v /root/luckyconf:/goodluck gdy666/lucky:latest

通过执行该指令,会下载并运行 lucky。其中 /root/luckyconf 是配置文件存储的位置,可根据自己需要改成其他文件夹。

成功运行之后,通过 http://ip:16601 即可访问。默认账号密码均为666。

chrome_jRmsWsZzV2.png

配置 lucky

更改账号密码

进入之后,首先点进设置,更改管理账号和密码。

image.png

更改完成后,使用新的账号密码重新登陆。

添加 ddns

点进左边 动态域名 标签,添加任务。任务名称随意填写,如 ddns。托管服务商根据所在服务商选择,如 Cloudflare,token 通过点击创建令牌的超链接进入创建。类型选择 ipv4,域名列表填写两项,一个申请的域名本身,一个泛域名,即前面加 *.。填完之后点击添加任务。

chrome_glgAhwGDYu.png

完成后如图所示。

image-aijn.png

证书申请

点击进入安全管理界面,点击添加证书。此处是为域名申请 tls 证书,tls 证书申请下来之后的有效期是3个月,lucky 在到期时会自动刷新。

备注任意填写,添加方式选择 ACME,验证方式、域名列表与上面填写方式一样。电子邮箱会有自动生成的虚拟邮箱,可以不做更改。算法选择保持不变。更多设置中勾选上 DNS强制查询IPv4、DNS查询仅使用TCP。点击添加。

等待三分钟左右,证书申请完成。

chrome_EbTKuR8RV0.png

申请成功后可以看到有效期。

chrome_VDl3QqPCb4.png

反向代理

反向代理是将已部署的服务绑定域名,通过指定端口代理出去,达到外界可以访问的目的。点击进入 Web 服务界面,点击添加 Web 服务规则。

规则可直接留空,监听类型选择 tcp4,监听端口改成 443,为 https 默认端口。打开 TLS。

chrome_L0SebMzUS7.png

点开默认规则,将服务类型选择为反向代理,点开万事大吉。

chrome_mml8aKiOn8.png

点击添加服务规则,可以得到默认规则。

chrome_pRe1a68mPE.png

接下来是配置具体的服务。所有的服务均作为该默认规则的子规则存在。

点击添加子规则,在弹出的窗口中进行配置。子规则名称可以简单设置一个与该服务相关的名字,前端地址是反代出去的域名,可以直接添加前缀使用二级域名即可。后端地址是项目内部地址,单独应用可以使用 localhost 或者 127.0.1.1,docker 项目需要对应网关地址,一般为 172.17.0.1,如不是需要自助查询。

image-itlc.png

选择修改 Web 服务规则可以将该子规则添加,并通过 https://app.example.com 访问到该项目。至此该项目的反代目标即达成。