大家好,这篇文章发布已经有一段时间,随着Lucky的更新,配置界面已经发上了变化,加上现在越来越多的宽带用户获取不到公网IPv4,我另外写了一篇教程,满足没有公网IPv4的用户(IPv4和IPv6通用),可以点击下方链接查看:
前言
- Lucky的作用
- DDNS:动态域名解析,将域名绑定到公网IPv4并自动更新IP;
- SSL:自动续签ssl证书,实现https访问内网服务,更安全;
- 反向代理:通过二级域名访问内网服务,无需记忆各个服务实际端口号。
- 方案对比
- 下面是常规正向代理http和反向代理https两种方案的对比,仅供参考:
| 功能/方案 | 正向代理http | 反向代理https |
|---|---|---|
| 安全性 | 低 | 高 |
| 端口转发 | 每个服务单独配置端口转发,麻烦 | 只需对lucky配置端口转发 |
| 访问方式 | 域名+服务端口号:emby:www.yourdomain.com:8096fnos:http://www.yourdomain.com:5666 | 二级域名+固定端口号: emby:http://emby.yourdomain.com:8888 fnos:http://fn.yourdomain.com:8888 |
| SSL证书 | 无 | 有(自动续签) |
一、准备工作
- 网络环境要求
- 确保路由器支持 UPnP 或可手动配置端口转发。
- 拥有公网 IPv4(本教程仅以公网ipv4为例)。
- 注册一个域名(如阿里云、腾讯云等平台,如何注册域名另行百度,本教程以阿里云为例)。
- 域名解析
进入阿里云域名控制台,添加两条解析记录,记录类型为A,主机记录分别为@和*,记录值为你的公网IP地址,TTL默认10分钟,解析完成状态为“启用”说明配置正确。

- 创建并获取AccessKey
点击右上角头像-AccessKey,在新打开的页面中点击“创建AccessKey”(注意:AccessKey只能获取一次,请保存到自己电脑本地并妥善保管)。


- Lucky 安装
- 安装方式(以 Docker 为例,或直接在应用商店中安装):
docker run -d \
--name=lucky \
--net=host \
-v /path/to/config:/etc/lucky \
--restart=always \
gdy666/lucky
- 访问 http://[服务器IP]:16601 进入 Web 管理界面(初始账号密码均为:666)。
- Lucky基础配置
登录lucky面板后,点击左侧“设置”,重新设置账号密码以确保安全,设置完成后重新登录。

二、配置 DDNS(动态域名解析)
作用:将你的公网 IP 动态绑定到域名,解决家庭宽带 IP 变动问题。
- 点击左侧“动态域名”,点击“添加任务”。

- 在弹出的窗口中,任务名称随意;操作模式:简易模式;托管服务商:阿里云;填写前面保存的AccessKey ID和 Secret;类型:ipv4;获取公网IP方式:通过接口获取;域名列表中填写两行:第一行是你的主域名http://yourdomain.com(不要带www),第二行*.http://yourdomain.com(用于二级域名泛解析);填写完毕点击“添加任务”。

- 添加完成后稍等片刻,面板中同步结果显示为“域名IP与公网IP一致”即表示ddns配置成功。
三、申请SSL证书
作用:实现https加密访问,保障你的数据安全。
- 点击左侧“SSL证书”,点击“添加证书”

- 在弹出的窗口中,证书备注随意;添加方式:ACME;证书机构:Let's Encrypt;验证方式:阿里云;填入AccessKey的ID、Secret、域名列表(和DDNS中设置一样);邮箱:填你自己的;DNS查询强制IPv4:启用;DNS查询仅使用TCP:启用;其他保持默认,点击“添加”。

- 添加成功后稍等片刻,面板中显示证书信息(有效期、域名、服务商等)即表示证书申请成功;需要注意的是,SSL证书有效期通常是3个月,证书到期时,系统会自动续签,无需手动操作。
四、配置反向代理
作用:将外部请求通过二级域名和固定端口转发到内网服务(如 NAS、Web 服务器等)。
- 添加反向代理规则
点击左侧“web服务”,点击“添加web服务规则”。

- 配置主规则
在弹出的窗口中,Web服务规则名称随意;规则开关:开启;操作模式:简易模式;监听类型:tcp4;监听端口:这里指的是反向代理服务的监听端口,后续你想要在外网用哪个固定端口号访问内网服务就设置什么,默认是16666,以我为例,设置的是8888,后续通过二级域名+端口号8888就可以访问内网指定服务;防火墙自动放行:开启;TLS:开启。

- 配置子规则
下拉点击“添加子规则”,子规则名称随意,为方便管理建议按对应服务命名,以我为例,这里命名为emby,表示这条子规则是针对我的emby服务配置;子规则开关:启用;web服务类型:反向代理;前端地址:填写访问内网服务的域名地址,以我为例http://emby.yourdoumain.com(无需填写请求头https和端口号);后端地址:填写内网服务实际地址,以我emby服务为例http://192.168.50.100:8096(需填写http://和端口号);其他保持默认,这样一条子规则就配置完成,可以继续向下添加其他子规则,最后点击“添加web服务规则”,反向代理就配置完成了。

五、端口转发
作用:将反向代理服务通过路由器端口映射到外网,从而实现外网访问。
- 进入路由器管理后台,找到端口转发,开启端口转发并添加规则;
- 以我华硕路由器为例,在外部网络-端口转发;
- 填写服务名称随意,外部端口号8888、本地IP(这里只lucky的内网IP,以我为例是192.168.50.100)本地端口号8888,协议类型TCP/UDP。
和正向代理相比,这里不需要把每个服务单独的内网端口都映射出去,只需要映射反代服务(即lucky)的端口就可以了。
六、验证与测试
- 访问域名测试
- 浏览器输入 https://emby.yourdomain.com:8888,就可以跳转到内网的emby服务。
- 检查日志
- 在 Lucky 的日志页面查看 DDNS 更新和反向代理请求记录。
七、常见问题
- DDNS 不更新
- 检查AccessKey的ID、Secret是否正确,确认域名解析记录类型为 A(IPv4)或 AAAA(IPv6)。
- 反向代理无法访问
- 确认内网服务正常,防火墙放行端口,路由器配置了端口转发。
- Http无法访问
按照以上配置,我们在使用域名访问服务时,都需要带上https://,否则在某些浏览器中会自动被识别为http://,造成无法访问,这个时候我们需要再配置一条重定向规则,让所有访问地址都自动跳转到https://上。
添加重定向规则
点击左侧“web服务”,点击“添加web服务规则”。
在弹出的窗口中,Web服务规则名称随意;规则开关:开启;操作模式:简易模式;监听类型:tcp4;监听端口:8888;防火墙自动放行:开启;TLS:关闭。展开“默认子规则”,服务类型:重定向;默认目标地址:https://{host}:{port};万事大吉:开启;其他保持默认,最后点击“添加web服务规则”,重定向规则也配置完成了。

至此,外网通过二级域名+固定端口号的方式访问内网服务的配置就全部完成了。
非特殊说明,本博所有文章均为博主原创。

汪星人上线
这个教程很详细,跟着配成功了!
云中漫步
想问下这个配置在M1芯片的Mac上能用吗?
净角凌霄
@云中漫步: M1芯片应该没问题,Docker对ARM架构支持挺好的。
当扈栖霞
之前用别的方案总是断连,这个稳定多了
荒漠绿洲
@当扈栖霞: 我之前也是,换了这个之后稳如老狗。
星屑猎人
SSL自动续签太省心了,不用老惦记着更新证书
夜风
@星屑猎人: 对,省心太多,尤其适合我这种记性差的。
会飞的煎蛋
二级域名访问确实方便,不用记一堆端口号
乖宝宝
@会飞的煎蛋: 没错,特别是服务多的时候,管理起来方便。
九霄行
华硕路由器的端口转发界面截图能发一下吗?
梦回千雪
配置过程中防火墙需要特别设置吗?
星空幻想
为啥我的域名解析状态一直显示未生效?
高冷面瘫君
@星空幻想: 华硕路由器的端口转发配置可以看看官方文档,里面有详细截图。
墨染轻烟
反向代理比端口转发优雅多了,终于不用开一堆端口
幽冥吟唱
IPv6的教程什么时候出啊?等着用呢
草莓味的叹息
总算有个教程能解决IPv4的问题了,之前一直搞不定。
SquishMonster
这个重定向规则配置挺关键的,不然http访问会出问题。
遗忘之渊
我用华硕路由器,端口转发那一步能不能再详细点?
HushedHollow
试了下,DDNS配置完等了好久才生效,正常吗?
风帘翠幕
反向代理配置比我想的简单,一次成功。
露珠微光
防火墙自动放行这功能好用,省了不少事。
骨笛幽
IPv6的教程链接在哪?没找到啊。
黑历史
AccessKey只显示一次这个得注意,差点忘了保存。
软软小鸭
Lucky的docker命令里--net=host是必须的吗?
雪域狐仙
证书自动续签好评,再也不用设日历提醒了。
隐身模式
@雪域狐仙: 证书自动续签确实省事,但要注意AccessKey别泄露了。
铃鹿轻吟
跟着教程配好了,比之前用FRP省心不少。
TwilightOutcast
阿里云域名解析生效慢正常,有时候要等半小时。
琥珀黄
配置反向代理后内网访问速度有影响吗?
火焰之刃
之前用IPv6折腾半天,还是IPv4方案成熟稳定。
NightmarePilgrim
防火墙自动放行对新手太友好了,不用去命令行改iptables。
纳米旋律
IPv6教程链接就在文章开头第二段,蓝色字那个。
小肥羊
路由器UPnP开了就不用手动配端口转发了吧?