阿里云域名解析、宝塔反代迁移 Lucky

📦 第一步:在OpenWrt旁路由上安装Lucky

Lucky支持多种方式安装,在OpenWrt系统上,最简单快捷的是使用一键安装脚本。

  1. SSH登录OpenWrt:使用终端工具(如Windows Terminal、Putty)SSH登录你的OpenWrt旁路由。

  2. 执行安装命令:登录成功后,输入以下命令并按回车执行:

bash

bash -c "$(curl -sSL https://raw.githubusercontent.com/gdy666/lucky-files/main/golucky.sh)"

这个脚本会自动判断你的设备架构,并安装好Lucky及其Luci界面,非常方便。

  1. 访问Web界面:安装完成后,在浏览器中访问 http://你的OpenWrt旁路由IP:16601

  2. 初始登录:首次登录的用户名和密码都是 666。登录后,为了安全,请务必立即在右上角的“设置”中修改默认密码。

备用方案:如果你的OpenWrt找不到Lucky的插件包,也可以在OpenWrt上通过Docker方式运行Lucky,但一键安装是最简单的。

🌐 第二步:为你的域名配置DDNS

这部分是为了让域名始终指向你家庭的公网IP。

  1. 获取阿里云API密钥:登录阿里云控制台,新建一个AccessKey妥善保管生成的AccessKey IDAccessKey Secret

  2. 在Lucky中添加DDNS任务

    • Lucky后台,点击左侧“动态域名”,再点击“添加任务”。

    • 操作模式:选择“简易模式”。

    • 托管服务商:选择“阿里云”。

    • Token:填入刚才获取的阿里云AccessKey IDAccessKey Secret

    • IPv4/IPv6设置:根据你宽带的公网IP类型启用。

    • 域名列表:如果想服务所有子域名,可以填写主域名(yourdomain.com)和泛域名(*.yourdomain.com)。

    • 设置完成后保存,Lucky就会自动更新你的域名解析了。

🔒 第三步:利用Lucky自动申请并续期SSL证书

接下来,利用Lucky的ACME功能,为你的域名自动申请免费的SSL泛域名证书。

  1. 进入证书管理:在Lucky后台,点击左侧“安全管理” -> “SSL/TLS证书” -> “添加证书”。

  2. 配置ACME证书

    • 添加方式:选择“ACME”。

    • 证书颁发机构:选择“Let's Encrypt”(稳定性好)。

    • 验证方式:选择“AliDNS”(对应阿里云)。

    • DNS API凭据:再次填入阿里云的AccessKey IDAccessKey Secret

    • 域名列表:填写你要保护的域名,通常也是主域名和泛域名(yourdomain.com*.yourdomain.com)。

  3. 开始申请:保存后,Lucky会自动向Let's Encrypt发起证书申请,成功后你就能看到证书信息了。 Lucky会在证书到期前自动续期,你无需再手动操作。

⚙️ 第四步:通过Web服务设置反向代理

最后,最关键的一步,就是配置Lucky的反向代理规则,让外部请求能被正确地转发到内网的不同服务。

  1. 添加Web服务规则

    • Lucky后台,点击左侧“Web服务”,点击“添加Web服务规则”。

    • 监听端口:你需要选择一个没有被运营商封禁且没有被其他服务占用的端口(例如:18443)。外部访问时,URL将是 https://xxx.yourdomain.com:18443。如果家里有公网IP并且443端口可用,这是最完美的选择。

    • 开启TLS:务必打开它,然后将“TLS证书”选为你刚刚在第三步申请的证书。

    • 监听类型:根据你的公网IP类型选择tcp4tcp6

  2. 添加子规则

    • 在刚才创建的Web服务规则中,点击“添加子规则”。

    • 前端地址:设置一个你喜欢的二级域名,例如 emby.yourdomain.com。它将是外部访问这个服务的地址。

    • 后端地址:填写你的Docker服务在局域网中的内部地址,格式为 http://内网IP:端口,例如 http://192.168.1.100:8096

    • 你有几个Docker服务,就添加几条这样的子规则,所有子规则都共享同一个监听端口(如18443)。

🔥 第五步:配置防火墙与端口转发

Lucky本身已配置完毕,但外部流量要进来,还需要过路由器这一关。

  1. 在主路由上设置端口转发:登录你家网络的主路由器(不是你当旁路由的OpenWrt),在它的“端口转发”或“虚拟服务器”设置中,创建一个规则:

    • 公网端口:就是你刚刚在Lucky里设置的监听端口(例如18443)。

    • 内部IP地址:填写你的OpenWrt旁路由的IP地址

    • 内部端口:必须和“公网端口”保持一致(同样是18443)。

    • 协议:选择TCP

  2. 检查防火墙:确保公网端口(如18443)在OpenWrt及主路由的防火墙上都是允许被访问的

🔄 第六步:迁移切换方案

将原本在阿里云主机上的宝塔面板反代服务平滑地迁移到家里的Lucky上。

  1. 验证新配置:在手机流量下,先用https://新二级域名:新端口访问你的服务,确认Lucky的新链路能正常工作。

  2. 透明迁移:确认无误后,在你的域名服务商(阿里云)处,将原来指向阿里云主机的域名解析记录修改为指向你家庭的公网IP。

  3. 无缝切换:这个步骤是利用DNS解析的“泛解析”优先级来实现的,让你可以无感知地将流量从阿里云主机切换到家庭网络,实现零中断迁移。

💎 核心配置清单:Lucky vs 宝塔面板

功能模块

在阿里云主机上 (宝塔)

在家庭网络中 (Lucky)

DDNS 服务

通常由阿里云DNS或脚本提供

第一步: 配置阿里云API密钥与域名解析

SSL 证书

需在宝塔内申请并手动部署到各个服务

第二步: 配置ACME自动申请泛域名证书

反向代理

配置每个站点的反代规则

第三步: 配置统一入口和每条子规则

域名解析

域名 -> 阿里云主机公网IP

第四步: 将域名解析改为 -> 家庭公网IP

统一入口

多个端口(HTTP 80/HTTPS 443等)

第五步: 指定一个统一的高位端口(如18443)

📝 额外建议

  • 强密码:务必为Lucky后台设置一个足够复杂的密码。

  • 证书备用:你的Docker服务若支持(比如nginx),可以把Lucky申请好的证书文件映射给它们用,实现全链路加密。

  • 自动续期Lucky默认会在证书到期前约36天尝试自动续期,你无需任何操作。

评论