Lucky 反向代理详解:用域名+HTTPS 优雅访问内网服务

JackcatLucky1 月 前

Lucky 反向代理详解:用域名+HTTPS 优雅访问内网服务

上一期我们让域名稳定指向了家里的公网 IP。但光有域名还不够:家里可能同时跑着 NAS 管理页、Jellyfin、路由器后台、各种 Web 服务,总不能每个都记一个端口号、还全是裸 http 吧?Lucky 的 反向代理(Web 服务) 就是来解决这件事的——用「一个端口 + 不同子域名」统一收口,并且全程 HTTPS 加密。

一、先申请一张通配符证书

反向代理要上 HTTPS,得有证书。Lucky 内置 ACME 客户端,能自动申请并续期 Let’s Encrypt 证书。

  1. 左侧 SSL/TLS 证书 → 添加证书,添加方式选 ACME
  2. 证书颁发机构选 Let’s Encrypt(或 ZeroSSL),验证方式选 DNS,填入域名服务商的 Token。
  3. 域名列表填主域名和泛域名:yourdomain.com*.yourdomain.com
  4. 如果 DDNS 用的是 IPv4,勾上「DNS 查询强制 IPv4」。

大约两三分钟状态变「成功」。Let’s Encrypt 证书 90 天有效期,Lucky 会在到期前约 45 天自动续期,不用管。注意:国内备案域名才能正常用 80/443,否则只能走自定义端口。

二、添加 Web 服务规则

  1. 左侧 Web 服务 → 添加 Web 服务规则
  2. 监听端口填一个自定义端口,比如 16666(80/443 被运营商封的就用它)。
  3. 打开 TLS 开关,启用刚申请的证书。
  4. 点「添加子规则」。

三、用子规则区分不同服务

每条子规则对应一个内网服务:

  • 名称:起个好认的,如 nas
  • 服务类型:反向代理。
  • 前端地址:子域名,如 nas.yourdomain.com(不用带 http/端口)。
  • 后端地址:内网服务真实地址,要带协议,如 http://192.168.1.100:5000

这样 nas.yourdomain.com:16666 就加密访问到 NAS,jf.yourdomain.com:16666 访问 Jellyfin……路由器只需放行 16666 一个端口,其余内网端口完全不用暴露,安全性和便利性都拉满。

四、让 http 自动跳 https

只输入域名时浏览器默认走 http,会打不开。补一条重定向规则:

  1. 新增一条 Web 服务规则(不是子规则),监听端口和上面保持一致,TLS 关闭
  2. 打开「默认子规则」,服务类型选 重定向
  3. 默认目标地址填 https://{host}:{port},打开「万事大吉」自动加请求头。

之后输 nas.yourdomain.com:16666 会自动跳到 https,体验顺滑。

五、路由器端口转发

如果 Lucky 装在 NAS / 内网服务器上(不是路由器本机),记得在路由器把 16666 做端口转发到 Lucky 所在内网 IP 的同端口。内网端口和外网端口保持一致最省心。

六、避坑与最佳实践

  • WebSocket 服务(如 Home Assistant、VNC):子规则里记得开「支持 WebSocket」,否则连上就断。
  • 路径反代:部分应用需要按路径(如 /api)反代,在子规则的「匹配路径」里填即可。
  • 安全三件套:改默认密码、设安全入口、开启「登录失败 N 次封 IP / 单 IP 过多 404 封 IP」——Lucky 自带这些开关,务必打开。

反向代理是 Lucky 最核心的玩法。下一篇我们聊更硬核的:当你的宽带压根没有公网 IPv4,怎么用 STUN 打洞照样访问家里。

发布评论

相关文章